我只是好奇,我应该如何编写@Override注释,因为我可以看到有两种方法。第一:
class Lisa extends Homer {
@Override void doh(Milhouse m) {
System.out.println("doh(Milhouse)");
}
}
来源:Bruce Eckel,Thinking in Java,第4版。
第二种方式:
@Override
public LittleFish next() {
// TODO Auto-generated method stub
return null;
}
source:Eclipse方法自动生成器,我在其他地方看到了这个。
我喜欢保持我的代码干净并与Java规则保持一致,所以我真的很喜欢这个主题。抱歉愚蠢的问题,但我在谷歌甚至在这里都找不到答案。
谢谢!
答案 0 :(得分:1)
Oracle Java "Predefined Annotation Types"
// mark method as a superclass method
// that has been overridden
@Override
int overriddenMethod() { }
但无论如何,这主要是基于意见的问题
修改强>:
此外,当您在方法上有多个注释时,它是一种很好的样式,例如:
@Type
@Column(name = "ID")
@Override
int overriddenMethod() { }
看起来更好
@Type
@Column(name = "ID")
@Override int overriddenMethod() { }
或
@Type @Column(name = "ID") @Override int overriddenMethod() { }
答案 1 :(得分:1)
在方法之前将行@Override
注释声明为更具可读性。据我所知,它们之间没有功能差异,但是将所有内容放在一行中会降低可读性。你可以在技术上将所有代码写在一行中,但它不是很漂亮。
Oracles own Java-Annotations-tutorial表明这也是正确的方法。您可能还想从堆栈溢出中查看this question,在那里他们会更多地谈论覆盖,尽管在更一般的意义上。
所以这将是正确的方法:)
@Override
private int doStuff() {
return 1;
}
答案 2 :(得分:0)
@Override
void mySuperMethod() { ... }
是如何在javadocs
中完成的答案 3 :(得分:0)
@Override
String display()
{
// your code here
}
此样式严格遵循java命名约定。你可以试试这个。