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