2010-10-06 91 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

相關問題