黑马程序员技术交流社区

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

作者: 不存在的奇迹    时间: 2015-4-20 18:54
标题: 局部内部类
局部内部类访问局部变量必须加final修饰,为什么?


作者: doomsday    时间: 2015-4-20 19:25
局部变量存储在栈中 当方法执行完毕的时候 会立即清除掉栈中的数据  从而清楚掉局部变量 而局部内部类可能还会使用里面的变量 都清除了怎么还能用呢 那就必须保证局部变量不被清除掉 变量被final修饰后就变成了常量 就不会被立即清除掉 这样才能保证局部类部类能正常使用局部变量

jdk8中 局部变量即使不被final修饰 局部内部类也可以访问
作者: 不存在的奇迹    时间: 2015-4-20 19:29
doomsday 发表于 2015-4-20 19:25
局部变量存储在栈中 当方法执行完毕的时候 会立即清除掉栈中的数据  从而清楚掉局部变量 而局部内部类可能 ...

学习了。。:lol
作者: itheima_llt    时间: 2015-4-20 21:40
超值强帖,帮你顶,^_^
作者: caotierong    时间: 2015-4-20 21:47
只是一个生命周期的问题,如果是一般的局部变量,那它的生命周期肯定会比局部内部类要短,这样的话如果内部类在使用局部变量的话那就可能会出问题,所以才加final修饰,延长局部变量的生命周期。
作者: itheima_llt    时间: 2015-4-20 21:58
顶一下吧~ 很少见的好帖了




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