为什么Java匿名内部类的方法中用到的局部变量都必须定义为final 我来答 1个回答 #热议# 上班途中天气原因受伤算工伤吗? 就是小厉1U 2017-05-16 · TA获得超过495个赞 知道小有建树答主 回答量:250 采纳率:100% 帮助的人:74.1万 我也去答题访问个人页 关注 展开全部 保证局部变量在匿名内部类内外都不会被修改。因为匿名内部类内部,实际上是复制了一份局部变量,然后在匿名内部类中使用。如果不设置为final,局部变量在外部被修改,会导致与匿名内部类之内的副本不一致,逻辑上说不通。所以Java虚拟机这么设计,强制设置局部变量为final,语义上保持一致性。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 其他类似问题 2017-10-17 为什么匿名内部类只能访问其所在方法中的final类型的局部变... 15 2017-12-16 Java的匿名内部类不能引用非final类型变量吗?为什么? 2017-10-10 匿名内部类访问局部变量 为什么final 1 2016-08-01 为什么匿名内部类方法参数要使用final 8 2016-12-05 java为什么匿名内部类的参数引用时final 2 2013-11-17 为什么匿名内部类参数必须为final类型 2018-08-21 这个匿名内部类为何不使用final也可以访问外部成员? 2 2014-10-29 为什么匿名内部类和局部内部类只能访问final变量 更多类似问题 > 为你推荐: