变量“实际上是最终的”是什么意思?
2022-09-03 00:39:04
有效的 final 意味着在获得初始值后永远不会更改它。
一个简单的例子:
public void myMethod() {
int a = 1;
System.out.println("My effectively final variable has value: " + a);
}
在这里,没有宣布为最终状态,但它被认为是有效的最终结果,因为它永远不会改变。a
从 Java 8 开始,可以按以下方式使用它:
public void myMethod() {
int a = 1;
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("My effectively final variable has value: " + a);
}
};
}
在Java 7和更早的版本中,必须声明能够在这样的本地类中使用,但是从Java 8开始,它足以有效地最终使用。a
final