Object:是所有对象的直接或者间接父类。
该类中定义了是所有对象都具备的功能。
public class Demo48 {
public static void main(String[] args){
Demoo d1=new Demoo();
Demoo d2=new Demoo();
Demoo d3=d1;
System.out.println(d1.equals(d2));
System.out.println(d1.equals(d3));
}
}
class Demoo{
}
Object类中已经提供了对象是否相同的比较方法,如果自定义类中也有比较相同的功能,没有必要重新定义。输出为:
false
true
其中equals比较的是地址是否相同。
只要沿袭父类中的功能,建立自己特有比较内容即可,这就是覆盖。
public class Demo48 { public static void main(String[] args){ // Demoo d1=new Demoo(); // Demoo d2=new Demoo(); // Demoo d3=d1; // // System.out.println(d1.equals(d2)); // System.out.println(d1.equals(d3)); Demoo d1=new Demoo(4); Demoo d2=new Demoo(4); System.out.println(d1.equals(d2)); } } class Demoo{ private int num; Demoo(int num) { this.num=num; } public boolean equals(Object obj){ Demoo d=(Demoo)obj; return this.num==d.num; } }
输出为:true