天天看点

Java中,局部内部类

局部内部类

  A:局部内部类可以直接访问外部类的成员。

  B:局部内部类在局部位置可以创建内部类对象,通过内部类对象调用内部类方法,来使用局部内部类功能。

  C:局部内部类访问局部变量,局部变量必须加final修饰。为什么呢?

    因为局部变量会随着方法的调用完毕而消失,这个时候,局部对象并没有立马从堆内存中消失,

    局部对象还要使用这个局部变量。为了让数据还能继续被使用,就用fianl修饰局部变量,

    这样,在堆内存里面存储的其实是一个常量值。通过反编译工具可以看一下。

    通过反编译工具我们看到了,加入final后,堆内存直接存储的是值,而不是局部变量名。

示例代码如图所示:

Java中,局部内部类

我的GitHub地址:

https://github.com/heizemingjun

我的博客园地址:

http://www.cnblogs.com/chenmingjun

我的蚂蚁笔记博客地址:

http://blog.leanote.com/chenmingjun

Copyright ©2018 黑泽明军

【转载文章务必保留出处和署名,谢谢!】