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));
    }

}

 

posted @ 2012-10-06 09:45  myth_HG  阅读(248)  评论(0编辑  收藏  举报