黑马程序员技术交流社区
标题:
方法中的内部类能不能访问方法中的局部变量
[打印本页]
作者:
1294668228
时间:
2016-4-5 21:09
标题:
方法中的内部类能不能访问方法中的局部变量
方法中的内部类能不能访问方法中的局部变量,为什么?
作者:
马儿不吃草
时间:
2016-4-5 22:10
能呀,内部类可以直接访问外部类成员,包括私有的.你可以把内部类也看成一个成员就行了
作者:
cuiruolei
时间:
2016-4-5 23:18
内部类可以访问方法中的局部变量,前提是局部变量是被final修饰的(jdk8之前)。原因很简单,对象是在堆内存中,而方法是在栈内存中,局部变量的生命周期最长也只是在方法所在的大括号中,而方法执行结束弹栈后,局部变量也就随之消失了,而堆内存中的对象不会立即消失,这样,局部变量就访问不到了,所以加final修饰用来延长局部变量的生命周期,在编译的时候,是直接用变量的实际值替换掉了符号引用。/微笑
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2