重写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; }