重写equals()方法及相关说明:
@Override
public boolean equals(Object obj) {
// 判断两个引用的值是否相同
// (引用的值判断的是两个引用的地址是否相同,如果两个引用的地址相同,即这两个引用指向了同一个对象)
if (this == obj)
return true;
//如果另外一个对象的值为空,则不比较
if (obj == null)
return false;
//比较类对象(注意:类的对象和类对象是不同的概念)
//类对象关注的是类的代码信息,如类的属性、它是什么类型的、变量名是什么、
//它有哪些方法、方法名是什么、方法里面的代码是什么
//类的对象关注的是类的属性值的信息,即数据信息
if (getClass() != obj.getClass())
return false;
//将传入的对象强制转换为当前对象
Dog other = (Dog) obj;
//判断两个对象的属性值是否相同
if (age != other.age)
return false;
return true;
}