java的父类java.lang.object,根父类:java.lang.Object

本文深入探讨Java中根父类Object的关键作用及其常用方法,如toString(), getClasse(), finalize(), hashCode() 和 equals(),并阐述了这些方法在实际应用中的重写原则。

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

1、根父类

(1)Object类型是所有引用数据类型的超类,包括数组类型

如果一个类没有显式的声明它的父类,那么它的父类就是Object。

(2)Object类中的方法,会继承到所有类型的对象中,包括数组对象。

即所有对象都可以调用Object类中声明的方法

(3)Object类型变量或数组可以接收和存储所有类型的对象。

2、它的常用方法们

(1)public String toString():返回对象的详细信息,建议子类重写。

如果不重写,返回的是“类型名@hashCode值"。

当我们一个对象被打印或与字符串拼接时,就自动会调用这个对象的toString()

(2)public Class getClasse():获取这个对象的“运行时”类型

(3)public void finalize():当对象被GC回收之前,由垃圾回收器调用。一般资源对象才会重写这个方法,用于彻底释放资源。可能在finalize方法使得对象“复活”,但是复活后的对象,下次就不会再调用finalize方法。

(4)public int hashCode():返回对象的hash码。

理想状态下:不同的对象的hash码的唯一。

现实状态下:不同的对象可能拥有相同的hashCode值。例如:"Aa" 和 "BB"

如果重写hashCode方法,那么要遵循几个原则:

A:如果参与hashCode值计算的属性值没有变,那么这个对象的hashCode值就不变。

B:相同对象(即调用equals返回true的两个对象)的hashCode值一定是一样

C:不同对象(即调用equals返回false的两个对象)的hashCode值可以相同也可以不同

(5)public boolean equlas(Object obj):用于判断两个对象是否相等

如果子类没有重写equals方法,那么和==是一样,比较的是对象的内存地址。

我们可以选择重写,重写要遵循几个原则:

A:一定和hashCode()一起重写,并且选择的属性一定是一样的

B:遵循几个特性:

自反性、传递性、对称性、一致性、非空对象与空对象比较一定是false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值