Java 缺少批注:@重写未由Eclipse IDE中的编译器显示
这有点奇怪!但是,当我为我的模态类实现集合并使用EclipseIDE添加未实现的方法时,它不会在通过单击“addunimplementedmethods”生成的任何方法中显示@Override 当我单击“添加实现的方法”时,会发生以下情况:Java 缺少批注:@重写未由Eclipse IDE中的编译器显示,java,object,Java,Object,这有点奇怪!但是,当我为我的模态类实现集合并使用EclipseIDE添加未实现的方法时,它不会在通过单击“addunimplementedmethods”生成的任何方法中显示@Override 当我单击“添加实现的方法”时,会发生以下情况: public class MadeItACollection implements Collection{ public int size() { // TODO Auto-generated method stub return 0;
public class MadeItACollection implements Collection{
public int size() {
// TODO Auto-generated method stub
return 0;
}
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
.
.
.
.
}
我没有看到任何@Override。我正在用Java8编译代码库。我是否遗漏了一些明显的东西?正如人们的评论所暗示的,这是Eclipse中的一个代码风格选项
您可以在Preferences->Java->Code Style下启用它——确保选中了“Add@Override annotation for new overriding methods”;之后,您还可以通过直接在下面的链接为接口方法的实现添加它。(您还可以在这些菜单中启用自动添加注释作为清理或保存操作。)在实现接口时,不严格要求使用
@Override
注释,主要是因为您没有覆盖任何超类实现,而是实际实现了接口声明的方法。所以可能需要一个@Implements
注释,但这是一个完全不同的话题
但是,强烈建议您在这些方法上仍然使用@Override
注释,因为:
覆盖方法签名
,您应该会找到插入@Override annotation
,确保选中此项
下面是关于此设置选项的说明:
插入@Override注释:选中此复选框可使IntelliJ IDEA自动插入@Override注释
Eclipse:
导航到:
窗口=>Preferences=>Java=>CodeStyle
并查找新覆盖方法的Add@Override注释
,确保已选中该注释
您还可以通过导航到以下位置将其添加为保存操作
:
窗口=>首选项=>Java=>编辑器=>保存操作
并确保已选择在保存时执行所选操作
,并且已选择其他操作
,并确保已配置添加缺少的注释
问题出在哪里
@Override
不是必需的,显然IDE配置为不自动添加它这是eclipse中的设置。注释根本就没有生成。看看您在Eclipse中使用的是哪个JRE版本。我认为只有在1.6以上(不确定确切版本)@Override
是编译注释时才会显示警告,这意味着在执行时不需要,但如果不使用与重写方法相同的模板,它将停止编译。您重写了toString(),但没有将其公开,而是将其公开protected@Bastida这对这个问题有什么影响?酷。谢谢:)
public class MadeItACollection implements Collection{
public int size() {
// TODO Auto-generated method stub
return 0;
}
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
.
.
.
.
}