local variables referenced from an inner class must be final or effectively final

sancaiodm Java 2021-08-26 2076 0

在编译过程中出现此异常提示: error: local variables referenced from an inner class must be final or effectively final

或是 Local variable androidTest defined in an enclosing scope must be final or effectively final 提示。

是因为在局部内部类中调用了局部变量,如下图的局部变量 androidTest,在匿名内部类Runnable的实现类中调用了属性androidTest,则会报上面错误

image.png


解决方案:在androidTest变量定义前加修饰符final, final String = "androidodm.com"; 则局部内部类中不能再执行赋值操作,

如必须再执行赋值操作,可把变量androidodm 移到方法外,不定义为局部变量即可。


评论