所有类的父类——Object

Object:Java中所有的类都有一个公共的父类就是Object类,一个类只要没有明显的继承一个类,则肯定是Object的子类。

三个重要的方法toString,equals,hashCode

toString:
System.out.println(observObject);//不加toString
System.out.println(observObject.toString);//加toSting
equals:用于对象的比较

Object默认的是地址比较,因此我们自己创建类时重写一下equals方法,

==对比的是地址,

String str = "dsf";
String str1 = new String("dfs");
先判断长度是否相等,若等就一个一个对比,都相等就是true,否则为假
Syste.out.println(str.equals(str1));
hashCode:这一个类所产生的对象所具有的标识叫做哈希码

地址一样哈希码一样,地址不一样哈希码有可能相同

哈希算法:任何实现了不可逆的算法都是哈希算法

哈希不可逆能标识可重复

hashCode值代表了这个对象特征值的编码

public class ObservObject {

     public ObservObject(int age, int height) {
        this.age = age;
        this.height = height;
    }
public int hashCode() {   
    int code = 1;    
    code = (code + this.height*31)*code+31;    code = (code + this.age*31)*code+31;    return code;
}
}




public class Main {

    public static void main(String[] args) {
        ObservObject observObject = new ObservObject(3,4);
        ObservObject oo = new ObservObject(3,4);

        System.out.println(oo);
        System.out.println(observObject);
        //下面是输出结果,@后面是hashCode值
        //ObservObject@97db
       //ObservObject@97db
    }
}


hashCode是用于底层判断

两个对象.equals相等了即为true,它们的hashCode一定相等,

如果hashCode相等,它们的.equals不一定为true

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值