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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

局部内部类访问其所在方法的局部变量时,该变量必须加什么修饰?为什么?
        用final修饰。目的就是为了延长该局部变量的生命周期。
        因为局部变量得声明周期是随着方法的进栈而存在,方法的调用完毕而释放。
        如果方法调完毕了,局部变量肯定就不存在了,此时,
        如果局部内部类对象还在用着该局部变量,程序就会出问题。
        所以给该变量加final修饰,为的就是延长该变量的生命周期。
        但是JDK1.8以后取消了这个事情,所以我认为这是一个Bug。

2 个回复

倒序浏览
这并不是bug,而是在设计内部也给它加了final
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
兄弟,你想表达什么,  直接 复制 粘贴这样真的好吗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马