如何编写@Override注释

时间:2013-09-26 08:38:47

标签: java coding-style annotations

我只是好奇,我应该如何编写@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规则保持一致,所以我真的很喜欢这个主题。抱歉愚蠢的问题,但我在谷歌甚至在这里都找不到答案。

谢谢!

4 个答案:

答案 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命名约定。你可以试试这个。