2012-05-01 20 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