黑马程序员技术交流社区

标题: 内部类 [打印本页]

作者: heima_yjh    时间: 2015-3-17 16:35
标题: 内部类
局部内部类  访问局部变量时,问什么局部变量要为final修饰呢

作者: 齐浩    时间: 2015-3-19 14:33
首先,内部类和外部类其实是处于同一个级别,内部类不会因为定义在方法中就会随着方法的执行完毕而跟随者被销毁。问题就来了,如果外部类的方法中的变量不定义final,那么当外部类方法执行完毕的时候,这个局部变量肯定也就被GC了,然而内部类的某个方法还没有执行完,这个时候他所引用的外部变量已经找不到了。如果定义为final,java会将这个变量复制一份作为成员变量内置于内部类中,这样的话,由于final所修饰的值始终无法改变,所以这个变量所指向的内存区域就不会变。
因为生命周期的原因。方法中的局部变量,方法结束后这个变量就要释放掉,final保证这个变量始终指向一个对象。
作者: 小方的sunshine    时间: 2015-3-19 20:30
这个我看毕老师 的视屏还将的很清楚   忘了我回去在看哈 然后回复你

作者: huangchunwei    时间: 2015-3-19 21:43
来学习学习。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2