/**
* Created by xabcd on 2019/2/16.
*/
public class person_equals
{
private String name;
private int age;
public person_equals(String name,int age)
{
this.name = name;
this.age = age;
}
//覆写父类(Object类)红的equals方法
public boolean equals(Object o)
{
boolean temp =true;
//声明一个对象,此对象实际上就是当前调用的equals方法的对象
person_equals p1 = this;
//判断Object类对象是否是Person的实例
if(o instanceof person_equals)
{
//如果是Person类实例,则进行向下转型
person_equals p2 = (person_equals)o;
//调用String类中的equals方法
if(!(p1.name.equals(p2.name)&&p1.age==p2.age))
{
temp = false;
}
}
else
{
//如果不是pereson_equals类实例,则直接返回false
temp = false;
}
return temp;
}
}
/**
* Created by xabcd on 2019/2/16.
*/
public class test_equals1
{
public static void main(String[] args) {
person_equals p1 = new person_equals("张三", 25);
person_equals p2 = new person_equals("张三", 25);
System.out.println(p1.equals(p2) ? "是同一个人" : "不是同一个人");
}
}
结果:
是同一个人