@Override is not allowed when implementing interface method
匯入一個新的maven專案發現很奇怪的一個bug,提示錯誤,“@Override is not allowed when implementing interface method”。詳細的程式碼描述如下:
錯誤原因(敲黑板,劃重點了哈): @Override註解是從jdk1.5開始出現的,是用來標註方法重寫的。通常方法重寫發生在繼承父類,重寫父類方法,或者實現介面,實現介面方法。@Override能夠保證你正確重寫方法,當你重寫方法出錯時,比如方法名誤寫,或者漏掉引數,編譯器會提示編譯錯誤。出現以上問題,則跟編譯器版本問題有關。編譯器1.5只支援@Override註釋重寫父類方法,不支援實現介面方法。
解決辦法:我的IDE預設使用jdk1.5的編譯器,我們將language level設定高於jdk1.5版本即可
1、File ——> Project Structure ——>Modules——>Language level 修改成 “7 - Diamonds,ARM,multi-catch etc.”
將File ——> Settings ——> Build, Execution, Deployment ——> Compiler ——> Java Compiler
Target bytecode version 改為1.8,即可
參考網址: ofollow,noindex">https://blog.csdn.net/fighting_wzc/article/details/79105960