我有一个关于equals
在 Java 中覆盖方法的问题。在我的书中,我有以下示例:
public class Dog{
private String name;
private int age;
public boolean equals(Object obj) {
if(!(obj instanceof Dog)) return false;
Dog other = (Dog) obj; ---> confused here
if(this.name.equals(other.name) && (this.age == other.age) {
return true;
}
else {
return false;
}
}
}
我不明白为什么必须将引用转换为Dog
引用。如果该引用不是类型Dog
,我们将返回 false。为什么铸造它的所有麻烦?