Java认为:万事万物皆为对象。
Object :上帝。类层次结构的根类。是所有对象的直接或者间接父类。该类中定义的肯定是所有的对象都具备的功能。
equals(Object obj):指示其他某个对象是否与此对象“相等”。
class Demo //extends Object所有类都是上帝的子民
{
Demo()//隐式构造函数
{
super();//super访问的是object
}
}
如果自定义的类中也有比较相同的功能,没有必要重新定义。
只要沿袭父类的功能,建立自己的特有的比较内容即可。这就是覆盖。
class Demo{
private int num;//属性私有化,只能通过类名访问。
Demo(int num){
this.num=num;
}
public boolean equals(Object obj){
Demo d=(Demo)obj;//向下转型,
if(!object instanceof Demo){ //增强程序健壮性,
return false;
}
}
class ObjectDemo{
public static void main(String[] args)
{
Demo d1=new Demo(4);
Demo d2=new Demo(5);
System.out.pritln(d1.equals(d2));
}
}
想建立自身特有的内容的比较相同方式怎么办?复写:因为父类中已经提供了这样的功能,没有必要再定义,直接复写,但父类为object类,所以要做判断和转换的动作(如果用到对象里特有的数据)