为了账号安全,请及时绑定邮箱和手机立即绑定

在匿名内部类中使用了外部类的变量,那外部类的这些变量为什么必须是final的呢?为什么必须是终态的?如下图:

http://img1.sycdn.imooc.com//5736848a0001ec9e14060591.jpg

求高手讲一下这个逻辑?

正在回答

4 回答

 有final修饰的局部变量JVM会拷贝传给局部内部类的。

2 回复 有任何疑惑可以回复我~
#1

java家洼 提问者

非常感谢!
2016-05-17 回复 有任何疑惑可以回复我~

我的没改成final也没有报错

1 回复 有任何疑惑可以回复我~

我的JDK1.8的编译器没有报错

0 回复 有任何疑惑可以回复我~

这个跟变量的作用域有关系,参考http://blog.csdn.net/zhaoyw2008/article/details/9565219

0 回复 有任何疑惑可以回复我~
#1

java家洼 提问者

谢谢你
2016-06-13 回复 有任何疑惑可以回复我~
#2

小怪兽007 回复 java家洼 提问者

asdsadadad
2016-07-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

在匿名内部类中使用了外部类的变量,那外部类的这些变量为什么必须是final的呢?为什么必须是终态的?如下图:

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信