package cn.china; /**Object:所有类的根类。 * Object是不断抽取而来的,具备所有对象都具备的共性内容。 * 常用共性内容 * equals:一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据*/ public class EqualsDemo { public static void main(String[] args) { Person person1=new Person(20); Person person2=new Person(20); Person person3=person1; System.out.println(person1==person2); System.out.println(person1.equals(person2)); System.out.println(person1.equals(person3)); Pig pig =new Pig(); System.out.println(person1.equals(pig));//不能乱传对象,所以要做健壮性判断; } } class Person{ private int age; Person(int age){ this.age=age; } // public boolean compare(person p){ // return this.age==p.age; // } public boolean equals(Object obj){ if(!(obj instanceof Person)){ throw new RuntimeException("类型错误"); } Person person=(Person)obj;//千万要注意向下转型, return this.age==person.age; } } class Pig{ }