类Object中的equals()方法

时间:2022-08-02 16:18:20
/*
object:是所有对象的直接或间接父类,
该类中定义的肯定滴所有对象都具备的功能
object类中已经提供了对象是否相同的比较方法,没有必要重新定义。
只要沿袭父类中的功能,建立自己特有的内容即可,这就是覆盖。
*/

class Demo1{
private int num;
Demo1(int num){
this.num=num;
}
public boolean equals(Object obj)
{
if(!(obj instanceof Demo1))//如果obj不是Demo类型就不能比较,直接返回false 也可以抛出异常
return false;
Demo1 d=(Demo1)obj;//多态转型(向下转型)
return this.num==d.num;
}
}
public class ObjectDemo {
public static void main(String[] args) {
Demo1 d1=new Demo1(4);
Demo1 d2=new Demo1(4);
System.out.println(d1.equals(d2));//其实比较的地址
}
}