为什么内部类引用的外部变量必须用final修饰(JDK1.8可以不用final修饰, 但外部变量也不可更改, 即相当于隐性的final修饰)

final 是保护 所修饰的类、方法、变量不能被改变的,并不占用内存。   真正的原因是因为生命周期的原因。方法中的局部变量,方法结束后这个变量就要释放掉,而final会保证这个变量始终指向一个对象。   首先…