有效地最终意味着它在获得初始值之后永远不会改变。
一个简单的例子:
public void myMethod() { int a = 1; System.out.println("My effectively final variable has value: " + a);}在这里,
a并没有声明为final,但是由于它从未更改,因此实际上被认为是 final 。
从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和更早版本中,
a必须声明
final可以在这样的本地类中使用,但是从Java 8开始,足以有效地成为最终语言。



