1

我只是好奇,我应该如何编写@Override 注释,因为我可以看到有两种方法。第一的:

class Lisa extends Homer {
  @Override void doh(Milhouse m) {
    System.out.println("doh(Milhouse)");
  }
}

资料来源:Bruce Eckel,《Java 思维》,第 4 版。

第二种方式:

@Override
public LittleFish next() {
  // TODO Auto-generated method stub
  return null;
}

来源:Eclipse 方法自动生成器,我在其他一些地方看到了这个。

我喜欢保持我的代码干净并与 Java 规则保持一致,所以我对这个主题非常感兴趣。对不起,愚蠢的问题,但我在谷歌甚至这里都找不到答案。

谢谢!

4

4 回答 4

1

Oracle Java“预定义注释类型”

   // 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() { }
于 2013-09-26T08:43:27.207 回答
1

在方法之前的行声明@Override注释肯定更具可读性。据我所知,它们之间没有功能上的区别,但是将所有内容放在一行中会降低可读性。从技术上讲,您可以在一行中编写所有代码,但这不是很漂亮。

Oracles 自己的 Java-Annotations-tutorial表明这也是正确的方法。您可能还想从堆栈溢出中查看这个问题,他们在其中更多地谈论了覆盖,尽管在更一般的意义上。

所以这将是正确的方法:)

@Override
private int doStuff() {
    return 1;
}
于 2013-09-26T08:52:00.977 回答
0
@Override
void mySuperMethod() { ... }

是如何在javadocs中完成的

于 2013-09-26T08:49:44.413 回答
0
    @Override
    String display()
    { 
      // your code here
    }

这种风格严格遵循 java 命名约定。你可以试试这个。

于 2013-09-26T08:50:35.997 回答