2
提供類MyClass
,我沒有重新定義equals()和hashCode()方法,但我忘了提及的關鍵詞@Override
如:忘記提@覆蓋,同時重新定義equals和hashCode
public class MyClass {
public boolean equals(Object obj){
//Content omitted
}
public int hashCode(){
//Content omitted
}
//Remainder omitted
}
會是什麼在MyClass
的設計中出現這種錯誤的後果是什麼?
UPDATE:如果我尊重父類的方法簽名,同時重新定義我的方法的亞型類,我還是重寫給定的方法,雖然我不提@Override
關鍵字,對不對?
沒什麼,真的。 '@ Override'只是告訴讀者你的代碼的一種方式,它覆蓋了超類中的一個方法。 – Sweeper