局部内部类
A:局部内部类可以直接访问外部类的成员。
B:局部内部类在局部位置可以创建内部类对象,通过内部类对象调用内部类方法,来使用局部内部类功能。
C:局部内部类访问局部变量,局部变量必须加final修饰。为什么呢?
因为局部变量会随着方法的调用完毕而消失,这个时候,局部对象并没有立马从堆内存中消失,
局部对象还要使用这个局部变量。为了让数据还能继续被使用,就用fianl修饰局部变量,
这样,在堆内存里面存储的其实是一个常量值。通过反编译工具可以看一下。
通过反编译工具我们看到了,加入final后,堆内存直接存储的是值,而不是局部变量名。
示例代码如图所示: