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