为什么局部变量要作为final,无论是方法参数还是方法内部。
private void add(final int a , final int b) {
final int c = 0;
}
请任何人澄清。我搜索了很多,但没有找到确切的答案。
最佳答案
原因之一是它可以防止您无意中更改它们。这是一个很好的做法,因为它会发现一些难以发现的编码错误。
第二个原因是,如果您使用内部类,则从外部作用域引用的变量需要声明为final
。请参阅this SO answer了解更多详情。
final
的问题在于它在不同的上下文中意味着不同的东西。请参阅this discussion了解更多信息。
关于java - 为什么局部变量是final的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910342/