class Demo
{
private int num;
Demo(int num)
{
this.num=num;
}
public boolean equals(Object obj)//这里相当于将d2传进来了,也就是说Object obj=new Demo(6),在这里完成了向上转型,但是父类中没有num这个成员变量,所以报错,需要向下转型
{
if(this==obj)//如果传入的是自己,返回false
return false;
if(!(obj instanceof Demo))//如果传入的不是Demo类,就返回false
return false;
Demo d=(Demo)obj;
return this.num==d.num;
}
}
class ObjectDemo
{
public static void main(String[] args)
{
Demo d1=new Demo(4);
Demo d2=new Demo(6);
System.out.println(d1.equals(d2));
}
}
|