本文主要是介绍Variable ‘i‘ is accessed from within inner class, needs to be final or effectively final,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这个错误翻译一下,就是说变量“i”是从内部类中访问的,需要是final或有效的final
当时的代码如下:
内部类使用外部的局部变量时,因为外部的局部变量随着生命周期的结束而销毁,但内部类的生命周期还未结束,还在使用该变量,这样子就会造成内外不一致。在jdk8之前,需要在该变量前面加上final,但是在jdk8之后,如果不涉及到变量的引用改变,则jdk会默认加上final。查看class文件如下:
这篇关于Variable ‘i‘ is accessed from within inner class, needs to be final or effectively final的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!