实现接口方法时不允许使用@Override

我有题目中提到的问题。 你可以说这个线程重复了另一个: 如何closuresIntelliJ IDEA中的注释的错误validation?

但是那里给出的解决scheme是行不通的。 他们说我需要采取以下行动:

在项目结构|中 项目对话框中,将项目语言级别更改为6.0 – 接口中的@Override。

但是,目前的项目语言级别是6.0,但我仍然看到错误。

Vic,这里是窗口,语言级别下没有JVM版本(不幸的是我不能发布图像,因为我有10个声望)

如果您的项目有多个模块,请检查每个模块是否使用语言级别6或以上,或使用项目语言级别(请参阅Project Settings > Modules > xxx > Language level )。

修改后,您可能需要重新加载项目。

在您的模块/项目中,右键单击以查看上下文菜单:

在这里输入图像说明

selectOpen Module Settings或按F4 。 在设置窗口中:

在这里输入图像说明
Choose Language level部分设置值。

您也应该通过这种方式检查Project language level :按Ctrl + Alt + Shift + S

在这里输入图像说明

一个更简单的解决scheme – 内联

  1. 将插入符号放在@Override单词上,并将插入符号移到左侧,直到出现红色的灯泡图标。 然后点击它。

    在这里输入图像说明

  2. 点击将语言级别设置为6 – 接口覆盖

    在这里输入图像说明


上述方法是以下方法的替代方法:

  1. 转到文件>项目结构…或按Ctrl + Alt + Shift + S

    在这里输入图像说明

  2. 转到项目设置>模块>来源>语言级别,并select任何级别是6或大于6。

    在这里输入图像说明

如果您使用的是maven,请将maven编译器插件添加到项目的pom.xml文件中。

 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> 

这为我解决了这个问题。

每个模块还有一个语言级别。 请在项目结构中检查您的模块设置。