首页 > 代码库 > Java:匿名内部类不能引用外部类中非final类型的变量
Java:匿名内部类不能引用外部类中非final类型的变量
在使用Java局部内部类或者匿名内部类时,若该类调用了所在方法的局部变量,则该局部变量必须使用final关键字来修饰,否则将会出现编译错误“Cannot refer to a non-final variable * inside an inner class defined in a different method”。
不知道是不是因为我的编程风格问题,这个错误我经常遇到。而且我在学Java的时候不记得书上有说这个问题。所以这次拿出来百度一下。
简单百度了一下,好像没什么详细的解释,大概是牵扯到JVM和编译原理的。基础很重要。这个问题留着以后深入思考。
Java:匿名内部类不能引用外部类中非final类型的变量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。