Java中,局部内部类

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

示例代码如图所示:

原文地址:https://www.cnblogs.com/chenmingjun/p/8454518.html