2010-10-06 61 views
3

如果我正在实现接口的方法,我应该放@Override标记吗?我知道@Override标签应该在那里,当你重写超类的方法(而不是一个接口)。但是如何实现一个接口的方法呢?实现接口方法时,我应该使用@Override标记吗?

+0

可能的复制 - http://stackoverflow.com/questions/212614/should-a-method-that-implements-an-interface-method-be-annotated-with-override/212624#212624 – jjnguy 2010-10-06 01:17:40

回答

7

好,yes

你应该随时 可能使用@覆盖。它可以防止发生简单的错误 。例如:

@Override 
public boolean equals(MyObject mObj){ 
    // code ... 
} 

这并不编译,因为它 不正确重载equals。

对于方法 实现接口(1.6和更高版本仅限于 )或覆盖超类的 方法也是如此。

+0

但如何来NetBeans IDE中(现在的日食太阳神)抱怨,当我做这样的事情: 新的比较(){ @覆盖公众诠释比较(LHS的OBJ,OBJ RHS){ ..... }} IDE建议删除@Override标签 – dolaameng 2010-10-06 01:20:36

+0

@dolaa,您使用的是哪个版本的java? 1.5不允许注释这样执行的接口。 – jjnguy 2010-10-06 01:22:42

+1

但是,如果您使用的是1.6 – jjnguy 2010-10-06 01:23:04

相关问题