2012-12-10 105 views
-3

最終變量是否可以分配給另一個變量?Java最終變量

final int a = 10; 

我後面那最後varaible分配給像另一個變量:

int b = a; 

好像Java不喜歡它,當我這樣做,但是從我的理解最終變量只能分配一旦。但在我的情況下,我不是分配變量a而是分配變量b的值爲a

有人能告訴我關於final的變量嗎?我在各種網站上進行了研究,但無法理解發生了什麼。

+2

你已經證明什麼是好的。你看到什麼樣的問題?編譯器錯誤? –

+0

你確定嗎?將最終變量的內容分配給其他變量應該沒問題。 –

+3

在描述「Java不喜歡它」的含義之前,這並不是一個真正的問題。你對final的理解是正確的,但這個問題是一個稻草人。 –

回答

4

是的,是的。最後意味着參考不能改變;被引用對象的值可以。實質上,它是一種適用於變量名稱的修飾符,不適用於對象本身。當您聲明final Foo a = new Foo();時,您說a將始終引用同一個對象。這是合法的:

final Foo a = new Foo(); 
final Foo b = a; 
b.setBar(5); 

這是相當多的,是不是唯一的東西:

a = anotherFoo; 
+0

感謝您的支持。我正在做你剛剛提到的第二件事。 – user1714873