equals与==关于Object覆盖和重载问题
package exercise_11; public class Q11_151{ double radius; public boolean equals(Q11_151 circle ){ /**函数重载,调用父类的equals,比较的是是否指向同一个对象*/ return this.radius==circle.radius; } }
package exercise_11; public class Q11_152 { double radius; public boolean equals(Object circle){ /**函数覆盖,调用子类的equals,比较的是是否指向相同的内容*/ return this.radius==((Q11_152)circle).radius; } }
package exercise_11; public class Q11_15 { public static void main(String[] args) { // TODO Auto-generated method stub Object circle1,circle2; circle1=circle2= new Q11_151();//true /**Object circle1,circle2; circle1=circle2= new Q11_152();/**true*/ /**Object circle1=new Q11_151(); Object circle2 = new Q11_151();false*/ /**Object circle1=new Q11_152(); Object circle2 = new Q11_152();true*/ System.out.println(circle1.equals(circle2)); } }