Object类 是类层次结构的根类,每个类都是用Object类作为超类,所有对象(包括数组)都实现这个类的方法。所有类都是Object类的子类。
下面先说两个方法toString()和equals(Object obj)
public class Practice14 { public static void main(String[] args) { // TODO Auto-generated method stub //用父类的引用指向子类对象 Dog d=new Dog("小花","女"); Dog d1=new Dog("小花","女"); System.out.println(d.toString()); System.out.println(d1);//.toString()可以省略,输出对象就输出了该对象的所有属性 System.out.println(d1.equals(d)); } } class Dog{ private String name; private String sex; public Dog(String name,String sex){ this.name=name; this.sex=sex; } //重写Object类的toString方法 public String toString(){ return "name="+name+"sex="+sex; } //重写Object类的equals方法来实现对象比较 public boolean equals(Object obj){ if(obj==null)return false; //Class c=this.getClass() if(this.getClass()!=obj.getClass())return false; Dog temp=(Dog)obj; if(!this.name.equals(temp.name))return false; if(!this.sex.equals(temp.sex))return false; return true; } }