2010-09-17 73 views
34

在Eclipse中,我有一個令人討厭的問題,@Override批註。通常,當我在新PC上導入工作項目時,Eclipse會將一些@Override註釋標記爲錯誤。如果我刪除了註釋,那麼一切都很好,並且Eclipse還指示方法正在重寫父項方法,但添加Override註釋會再次導致錯誤。我目前正在開發一個Android項目,所以它可能是Android的問題,而不是Eclipse的問題。在Eclipse中覆蓋批註的錯誤

+0

在將項目導入Eclipse之後,必須重寫['必須重寫超類方法'錯誤](http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing -a-project-into-eclipse) – cHao 2011-09-04 02:23:28

+0

它可能有助於提到重複的問題在http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing-a-project-進入日蝕......但我不知道如何將它標記爲 – 2011-04-05 14:37:59

回答

46

這很可能是因爲您正在Java 1.5和Java 1.6之間切換。在1.5中,你不能用@Override標記接口實現,但你可以在1.6中。

一個快速谷歌搜索變成了差這很好的解釋在兩個版本之間的這種註釋:http://www.techienuggets.com/CommentDetail?tx=38155 @Override的

語義是 JDK 1.5和JDK 1.6的不同。在JDK 1.5中,對於在接口中聲明的方法 的實現,不允許使用 @Override註釋 ,而在JDK 1.6中允許使用 。欲瞭解更多 信息,請參閱:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5008260 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399361 http://blogs.oracle.com/ahe/?entry=override

這是事實 覆蓋批註的說明在JDK的API文檔沒有更新 。這已經 報告爲一個錯誤:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6501053bugdatabase/view_bug.do?bug_id=6501053

+0

對不起,newb在這裏,有什麼辦法擺脫這些錯誤?我將Java代碼合規性級別更新爲1.6,我仍然看到這個錯誤,也許還有其他的錯誤。 – 2013-01-08 04:04:54

3

確保使用的Java SDK是最新的,並且eclipse使用正確的SDK版本(如果您擁有多個一個安裝),並使用正確的SDK版本對待您的Android項目...

21

只是去

window -> prefrences -> java -> compiler 

並將其設置爲1.6的符號,從1.6開始,所以如果compilence水平將小於1.6它將給出錯誤

+0

幫助了我很多ADT17 – 2012-04-03 13:13:45

6

有幾個地方在配置Java編譯器設置。

單程就是Window->Preferences->Java->Compiler->Compiler Compliance Level -> set 1.6 or above。 另一種方式是在Project->Properties->Java Compiler->JDK Compliance -> Select 1.6 or above.

右鍵點擊你也可以取消「啓用項目的具體設置」,這將消除未來的JDK編譯器遵從性錯誤。 刪除多個JDK版本實例,除非不同的項目需要它們。

+0

這解決了我的問題。我的Eclipse偏好是1.6,並且一直是,但我的項目不知何故被降到1.5。 – kjl 2013-06-11 16:02:05