2012-05-01 52 views
2

在Java中,關鍵字final用於指示變量不能被重新分配。如果是這樣的話,爲什麼在方法中聲明的變量不能有final關鍵字?爲什麼這不合法:在方法中使用final關鍵字的Java

public void method() 
{ 
    final String x = "name"; 
} 

它可以派上用場長的方法。

+5

呃,你*可以做到這一點......這是什麼問題? – 2012-05-01 02:07:04

+1

謝謝你。我錯了 – Victor

+3

這是一個很好的例子,爲什麼你應該在提問之前真正嘗試一些事情。 – mwengler

回答

3

您可以。

public void foo() { 
    final String bar = "bar"; 
} 

會編譯得很好。

+0

......並表現得和預期的一樣。 'bar =「foo」;'在下面一行將無法編譯。 (在本地範圍內定義的任何匿名內部類中也可以訪問'final'局部變量,這可以很方便。) – 2012-05-01 02:08:08

+0

謝謝。我錯誤地假設不然。 – Victor