package cover;
public class Person {
private String name ;
private int age ;
public Person ( String name , int age )
{
this.name = name ;
this.age = age ;
}
//覆写 父类(Object类)中的equals 方法
public boolean equals ( Object o)
{
boolean temp = true ;
Person p1 = this ; // 声明p1对象,此对象实际上就是当前调用equals 方法的对象
if ( o instanceof Person) // 判断Object类师傅是Person 的实例
{
// if it is the Person class's example ,则向下转型
Person p2 = (Person)o;
// 调用String 类中的equals 方法
if (!( p1.name.equals(p2.name)&& p1.age==p2.age))
{
temp = false ;
}
else
{
// 如果不是Person类的实例,则直接返回false
temp = false ;
}
}
return temp ;
}
}
下午看程序,上面有个注释: //覆写 父类(Object类)中的equals 方法
我不知道 为什么要覆写 equals ( ) 方法!