“从内部类中访问变量需要声明为final”错误

时间:2016-06-10 22:34:01

标签: java oop intellij-idea inner-classes final

我在尝试使用内部类中的一个类的本地成员时遇到此错误。 我知道将它声明为final将解决问题,但我读到Java 8应该自动处理它,我正在使用Intellij和Java 8,它仍然无法编译。 有没有其他方法来修复它而不声明它是最终的? 感谢。

2 个答案:

答案 0 :(得分:4)

  

我知道将其声明为final将解决问题,但我读到Java 8应该自动处理它。

如果变量有效最终,Java 8将处理它。

我可以想到两种可能的解释:

  1. 也许变量不是有效的最终。尝试将其明确声明为final。如果您收到编译错误(例如说某些内容正在尝试修改final),那么该变量并非有效最终。

  2. 也许您还没有为Java 8正确配置Intellij和项目; e.g。

答案 1 :(得分:1)

我认为你应该改变你的语言水平"项目结构" - > "模块" - > "您的项目名称" - > "来源" - > "语言水平"并将其设置为8

enter image description here