变量“实际上是最终的”是什么意思?
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开始,它足以有效地最终使用。afinal