重写equals方法——各属性相同,即返回true
public boolean equals(Object obj) {
//判断两个比较对象是否相同
if (this == obj){
return true;
}
//判断obj是否是Person类型或其子类
if (obj instanceof Person){
Person p = (Person) obj;//向下转型,因为需要得到obj的各个属性
return (this.name).equals(p.name) && this.age == p.age && this.gender == p.gender;
}
//如果不是Person类对象,则直接返回false
return false;
}
未重写前的equals方法
public boolean equals(Object obj) {
return (this == obj);
}