今天在搜索谷歌的某段代码时,我遇到了一个Q/A博客,据说我们可以在一个类的方法中声明一个局部变量为final.但是,提交人不愿意解释这样做的必要性/好处.
喜欢
public class A
{
private void show()
{
final String s="checking";
}
}
Run Code Online (Sandbox Code Playgroud)
我会寻求java专家的帮助来教育我这个.在此先感谢您的支持和指导.
最好的祝福!
除了其他答案之外,创建变量还final可以在类和接口的内联实现中使用该变量:
final String test = "test";
foo = new Foo() {
public void bar() {
System.out.println(test);
}
};
Run Code Online (Sandbox Code Playgroud)
编辑:如果你是一个初学者,也可能是值得指出的是,该变量实际上是一个参考,以一个实例.当你创建一个变量时,final你实际上正在使引用常量,也就是说,最终变量在初始化之后永远不会引用其他实例.这并未声明实际引用的实例是否是常量.
例如,如果你说final String[] foo = { "bar", baz" }你可以做,foo[0] = "sheep"即使foo是final.你不能做的是将foo变量引用到其他东西,比如in foo = new String[]...或foo = someOtherArray.这与可变性和不变性有关,这些概念有点类似final,所以它们可能值得一些调查.
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |