public class TestEquals{ public static void main(String[] args){ Cat c1 = new Cat(1, 2, 3); Cat c2 = new Cat(1, 2, 3); System.out.println(c1 == c2);//用==比较的是两个对象的引用是否相同 System.out.println(c1.equals(c2));//object提供的equals方法同==功能(其他类不一定,比如String类已经对该方法重写), 故输出false Cat c3 = c1; System.out.println(c1 == c3);//c1 和c3 的确是指向同一个对象,引用相同,故输出true System.out.println(c1.equals(c3)); } } class Cat{ int color; int height,weight; public Cat(int color, int height, int weight){ this.color = color; this.height = height; this.weight = weight; } /* public boolean equals(Object obj){ if(obj == null) return false; if(obj instanceof Cat){ Cat c = (Cat)obj; if(c.color == this.color && c.height == this.height && c.weight == this.weight){ return true; } } return false; } */ }
Object类equals方法与重写
最新推荐文章于 2021-07-07 13:53:51 发布