重写Equals方法

class  Cat{
     int  color;
     int  weight,height;
     public  Cat( int  c, int  w, int  h){
         this .color = c;
         this .height = h;
         this .weight = w;
    }
    
     public   boolean  equals(Object obj)
    {
         if (obj == null)
        { 
             return  false; 
        }
         else
        {
             if (obj  instanceof  Cat)
            {
                Cat c = (Cat)obj;
                 if (c.color == this .color  &&  c.weight  ==   this .weight  &&  c.height == this .height)
                {
                     return  true;
                }
            }
        }
         return  false;
    }
     //public  String toString(){
       //  return "cat1 --> color is "+this.color;
     //}

}
public   class  A {
     public   static   void  main (String [] args)
    {
        Cat cat1 = new  Cat( 1 , 2 , 3 );
        Cat cat2 = new  Cat( 1 , 2 , 3 );
        Cat cat3 = new  Cat( 1 , 2 , 6 );
        System.out.println(cat1 == cat2);  //表示内存要相同
        System.out.println(cat1.equals(cat2));  // 默认使用Object的equals的方法 
                                                 //而在Object中equals 方法也是比较是否内存地址相同(==),
                                                 //所以如果不重写equals方法,结果仍然为false
        System.out.println(cat1.equals(cat3));

         //String 类中equals方法
        String str1 = new  String( "majianjie" );
        String str2 = new  String( "majianjie" );
        System.out.println(str1 == str2);          //false
        System.out.println(str1.equals(str2));   //true     因为String中已经重写了Object中的equals方法
        
        
         //toString 方法
        System.out.println(cat1);    //默认调用Object 中的toString方法  : 类名+@+hashcode
        System.out.println(cat1);       //重写Object中的toString方法
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值