A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么内部类被定义在方法中时访问的局部变量要声明为final?这是为什么呢?

1 个回复

倒序浏览
本帖最后由 【灰太狼】 于 2014-8-30 21:12 编辑

你们是不是都是一个基础班的呀?怎么都问类似的问题呢?
这是声明周期的问题
内部累的生命周期和类一样,生命周期长。
局部变量是创建对象的时候才会加载,生命周期短,
内部类如果要访问局部变量,它可能还没有“出生”呢(还没加载进来呢),
为了保证局部变量和内部累的生命周期一致,就必须加上final,使它变为常量,常量的生命周期就长了,内部类就可以访问了。
不懂再问~
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马