Java Intellij覆盖警告
我对IntelliJ有一个恼人的问题,它在实现接口时在@Override注释下放置黄色警告线 你知道为什么吗 干杯 编辑:错误为“@Override不适用于方法” 界面偏差:Java Intellij覆盖警告,java,intellij-idea,Java,Intellij Idea,我对IntelliJ有一个恼人的问题,它在实现接口时在@Override注释下放置黄色警告线 你知道为什么吗 干杯 编辑:错误为“@Override不适用于方法” 界面偏差: public interface Material { public long getID(); public String getMaterialCode(); public String getMaterialShortName(); public String getMaterialLongName();
public interface Material {
public long getID();
public String getMaterialCode();
public String getMaterialShortName();
public String getMaterialLongName();
}
类减速:
public class StandardMaterial implements Material {
private long id;
private String materialCode;
private String materialShortName;
private String materialLongName;
public long getID() {
return id;
}
@Override
public String getMaterialCode() {
return materialCode;
}
@Override
public String getMaterialShortName() {
return materialShortName;
}
@Override
public String getMaterialLongName() {
return materialLongName;
}
}
(使用Java8)
只有java 6及更高版本才支持接口的覆盖注释
检查intellij是否使用了正确的jdk和语言级别,以及maven(或您在intellij之外使用的任何构建工具)。检查您是否未覆盖此特定UALR模块的project sdk。仅java 6及更高版本支持接口的覆盖注释
检查intellij是否使用了正确的jdk和语言级别,以及maven(或您在intellij之外使用的任何构建工具)。检查您是否未覆盖此特定UALR模块的project sdk。不要手动编写方法。您能否只创建一个实现
Material
接口的StandardMaterial
类,然后ctrl+space
自动生成实现的方法?另外,您的getID
方法没有覆盖注释。不要手动编写方法。您能否只创建一个实现Material
接口的StandardMaterial
类,然后ctrl+space
自动生成实现的方法?另外,您的getID
方法没有覆盖注释。如果它是一个maven项目,请确保您在pom.xml中有一个maven编译器插件的定义,其中明确地将编译和源代码级别设置为至少1.6
例如:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
org.apache.maven.plugins
maven编译器插件
3.2
1.6
1.6
它默认为1.5,因此@Override还不可用。Intellij Idea似乎会评估编译器插件,即使它没有指定 如果是maven项目,请确保pom.xml中有maven编译器插件的定义,其中明确地将编译和源代码级别设置为至少1.6 例如:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
org.apache.maven.plugins
maven编译器插件
3.2
1.6
1.6
它默认为1.5,因此@Override还不可用。Intellij Idea似乎会评估编译器插件,即使它没有指定 将鼠标放在@override上时,intellij消息是什么?intellij不会显示不必要的错误。这应该是代码中的一个问题。您的项目是否设置为Java 1.5兼容?鼠标悬停在
@Override
上会显示什么消息?@RobbyCornelissen我使用的是语言级别7。0@NimChimpsky已经在使用Java8了!将鼠标放在@override上时,intellij消息是什么?intellij不会显示不必要的错误。这应该是代码中的一个问题。您的项目是否设置为Java 1.5兼容?鼠标悬停在@Override
上会显示什么消息?@RobbyCornelissen我使用的是语言级别7。0@NimChimpsky已经在使用Java8了!