黑马程序员技术交流社区
标题:
为什么内部类被定义在方法中时访问的局部变量要声明为final?
[打印本页]
作者:
Sakuratossi
时间:
2014-8-30 20:39
标题:
为什么内部类被定义在方法中时访问的局部变量要声明为final?
为什么内部类被定义在方法中时访问的局部变量要声明为final?这是为什么呢?
作者:
【灰太狼】
时间:
2014-8-30 21:09
本帖最后由 【灰太狼】 于 2014-8-30 21:12 编辑
你们是不是都是一个基础班的呀?怎么都问类似的问题呢?
这是声明周期的问题
内部累的生命周期和类一样,生命周期长。
局部变量是创建对象的时候才会加载,生命周期短,
内部类如果要访问局部变量,它可能还没有“出生”呢(还没加载进来呢),
为了保证局部变量和内部累的生命周期一致,就必须加上final,使它变为常量,常量的生命周期就长了,内部类就可以访问了。
不懂再问~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2