Object

本文探讨了Java中所有类与Object的关系,讲解了toString()、equals()、finalize()和hashCode()方法的作用与重写原则。toString()用于返回对象的字符串表示,equals()判断对象相等,通常需要重写以实现业务逻辑比较。finalize()在对象销毁前由垃圾回收器调用,适合放置资源清理代码,但Java9后已弃用。hashCode()返回对象的哈希值,常用于哈希表操作。同时,文章提到了String类对这些方法的重写实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java中所有类直接或间接继承Object。

API:应用程序编程接口,整个JDK类库相当于javase的API。(Application Programfile Interface)

toString方法:

        类名@对象的内存地址转换为十六进制形式。

        目的返回对象字符串表示形式。

        toString()一般都是要重写的,输出结果要能读。

equals:

        用来判断两个对象是否相等。

        ==可以判断两个对象的内存地址是否相等,在原始的Object的equals方法中就是用的这种方法         判断,所有equals需要重写.

        myeclipse自动生成的equals:

        public boolean equals(Object obj) {
        if (this == obj)//如果这两个内存地址都相同就没必要判断了。
            return true;
        if (obj == null)//判断obj是否为空
            return false;
        if (getClass() != obj.getClass())//判断两个对象的类是否相同
            return false;
        Date other = (Date) obj;//强制类型转换
        return day == other.day && month == other.month && year == other.year;
        }

        

java中的String是一个类,重写了toString和equals。

finalize:
        在源码中是一个protected修饰的没有方法体的方法,JVM的垃圾回收器调用该方法。

        如果希望在对象销毁时机执行一段代码,该代码需要写到finalize()中。所以finalize()只用重

        写,不用调用。比如需要在所有对象释放的时候记录时间,就需要写道这里面。

        java9后面这个被弃用了

hashCode:

        返回java对象的内存地址,是经过哈希算法得到的一个值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值