匿名内部类访问局部变量 为什么final 我来答 2个回答 #热议# 网上掀起『练心眼子』风潮,真的能提高情商吗? 开过变不C 2017-10-10 知道答主 回答量:5 采纳率:0% 帮助的人:2.5万 我也去答题访问个人页 关注 展开全部 是变量的作用域的问题,因为匿名内部类是出现在一个方法的内部的,如果它要访问这个方法的参数或者方法中定义的变量,则这些参数和变量必须被修饰为final。因为虽然匿名内部类在方法的内部,但实际编译的时候,内部类编译成Outer.Inner,这说明内部类所处的位置和外部类中的方法处在同一个等级上,外部类中的方法中的变量或参数只是方法的局部变量,这些变量或参数的作用域只在这个方法内部有效。因为编译的时候内部类和方法在同一级别上,所以方法中的变量或参数只有为final,内部类才可以引用。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 匿名用户 2017-10-10 展开全部 匿名内部类不能访问外部类方法中的局部变量,除非该变量被声明为final类型 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 其他类似问题 2017-10-12 匿名内部类访问局部变量 为什么final 4 2017-05-16 为什么Java匿名内部类的方法中用到的局部变量都必须定义为f... 2 2019-03-08 为什么匿名内部类调用的方法内局部变量必须为final 2017-10-17 为什么匿名内部类只能访问其所在方法中的final类型的局部变... 15 2017-11-03 JAVA中内部类访问的局部变量为什么要用final修饰 2017-09-27 为什么匿名内部类和局部内部类只能访问final变量 2014-10-29 为什么匿名内部类和局部内部类只能访问final变量 2016-12-05 java为什么匿名内部类的参数引用时final 2 更多类似问题 > 为你推荐: