Java中Object自带的九个方法,以及重写equals注意事项等

本文详细介绍了Java中Object类的九个内置方法,包括equals、getClass、hashCode等,并讨论了equals方法的重写,强调了在重写equals时必须同时重写hashCode的原因,涉及到HashMap的工作原理。同时提到了内存管理和toString方法的作用。
摘要由CSDN通过智能技术生成

部分图片截自Java核心技术 卷一

Object里自带的九个方法

 

这九个方法的作用:

1. equals:判断两个对象的地址是否是同一个地址,返回值是布尔类型

2.getClass:反射获取类信息(返回一个对象所属的类)

3.hashCode:获取对象的散列码

散列:本身是分布无规律,且分布相对均匀的意思。 通常来说用数组实现散列。

4.notify:唤醒一个线程。()

5.notifyAll:是唤醒全部线程。

6.toString:输出的是对象所属的类信息,以及对象地址。返回值是String类型。

7.wait:使线程由就绪态进入等待状态

8.9是wait重载。

equals:

需要答出来两个意思: 1.判断两个对象的地址是否是同一个地址,返回值是布尔类型

2.字符串对equals进行了重写。所以字符串中只对比字面意思。

hashCode

散列码( hash code ) 是由对象导出的一个整型值。散列码是没有规律的。如果 x 和 y 是 两个不同的对象, x.hashCode( ) 与 y.hashCode( ) 基本上不会相同。可能会相等。

面试官会问:两个不同的对象,他们的hashCode一定不相等,对吗

答:不对&

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值