黑马程序员技术交流社区
标题:
局部内部类
[打印本页]
作者:
不存在的奇迹
时间:
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