問題出現場景
在練習mvc模式的小專案時候,建立了乙個介面,以及它的實現類。但是在對介面進行實現的時候,乙個新的實現前面的@override總是報錯,但是實現本身的**是無問題的。提示修改的方式是刪掉@override。
問題的思考
先是上網搜尋,得到結論。對於@override,這個東西在jdk1.5時候已經生成,但是在解釋的時候有bug,會認為這不是@override而報錯。因此替換未jdk1.6及以上版本即可。
但是,我本身安裝的jdk是1.7。不可能存在1.6修復了bug,1.7又逆向修復bug的操作。因此排除這個方案。
問題的解決
最後檢視論壇發現有個可能性是之前定義的抽象類未儲存
檢視**,果然,介面中的抽象類未儲存的情況下,生成了實現類。但是eclipse在自動生成實現類的時候未提示錯誤,但是實現類寫完儲存的時候報錯。
儲存介面中抽象類後,在返回實現類內發現,錯誤消失
問題的總結
問題可能出現的兩種情景
jdk版本是1.5及1.5以下
— 此時更改jdk版本為1.6及以上即可
抽象類未儲存
— 此時儲存抽象類所在的檔案即可
過載 overload 和覆蓋 override
指同乙個類中有多個同名的方法,但方法的引數列表不同 包括個數 型別 順序 因此在編譯時就可以確定呼叫哪個方法,是一種編譯時多型 方法的覆蓋 指子類可以覆蓋父類的方法,同樣的方法會在子類和父類之間有不同的表現形式。程式呼叫方法在執行期才動態繫結,因此方法覆蓋是一種執行時多型 1 過載的使用 過載通過引...
過載(Overload)和重寫(Override)
public void test int a public string test int a,string b class animal class dogextends animal public class test 執行結果 動物可以移動 狗可以跑animal b new dog 大家可能有...
過載 Overload 與重寫 Override
過載 overloading 是在乙個類裡面,方法名字相同,而引數不同。返回型別可以相同也可以不同。每個過載的方法 或者建構函式 都必須有乙個獨一無二的引數型別列表。最常用的地方就是構造器的過載。重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫,返回值和形參都不能改變。即外殼不變,核心重寫!過...