Java中 Object类有哪些公用方法?

本文详细介绍了Java中对象方法的使用,包括clone(), equals(), finalize(), getClass(), hashcode(), notify(), toString(), wait()等方法的功能及应用场景。特别是equals()方法的具体实现步骤,并探讨了equals()与hashcode()的关系。

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

1) clone(): 返回这个对象的一个副本。
2) equals(Object obj): 
public boolean equals(Object obj) {
//①首先判断是不是同一个对象
if (this == obj) {
return true;
}
//②其次判断是不是属于同一个类
if (obj != null && Person.class == obj.getClass()) {
// 如果final修饰了Person类,那么Person.class == obj.getClass()也可以改为obj instanceOf Person。可以参考String源码的equals()方法。
//③最后强制转换后,判断是否具有相同id
Person personObj = (Person) obj;
if (this.getId() == personObj.getId()) {
return true;
}
}
return false;
}
 
3) finalize(): 不要主动调用这个方法,这个方法交给垃圾回收机制调用;该方法何时被调用,是否会被调用具有不确定性;执行该方法时出现异常,垃圾回收机制不会报告异常,程序继续执行。
4) getClass(): 
5) hashcode():如果equals()返回true,那么hashCode()的值也应该相等,反之亦然。如果equals()返回true,如果equals()返回true,那么hashCode()的值也应该相等hashCode()的值不相等,就会在集合对象中存储多个内容重复的对象。如果hashCode()的值相等,但是equals()返回false,就会在存储内容不同的对象时发生地址冲突。
6) notify(): 
7) notifyAll():
8) toString(): 这个方法返回一个字符串:getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
9) wait(): 
10) wait(long timeout): 
11) wait(long timeout, int nanos): 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值