問題分析
@Override注解用來檢測子類對父類或接口的方法的重寫是否正確,但有一次我在Eclipse里對接口的實現類里使用@Override注解卻報錯,不過在父類的子類里使用該注解卻是正常的。
百度了下才知道原來這是jdk1.5時的一個bug,在1.6時已經被修復;那么問題來了,我使用的jdk是1.8,為什么會報這個錯誤?明明之前也在接口的實現類里用過該注解,卻沒問題。由於Eclipse經常抽風,我懷疑是Eclipse的問題,經過排查確實如此,該項目使用的jdk版本不知道為什么變成了jdk1.5,導致出現了注解報錯的問題。
解決方法
右鍵該項目,選擇Properties,將Java Compiler和Java Facets里的jdk版本從1.5改為更高的版本,再刷新下項目重新編譯就沒問題了。