Object
- Object是什么
- Object的11个方法
Object是什么
所有类的基类(父类),换而言之,所有类都继承自Object类
Object的11个方法(重要)
- toString():输出引用类型对象的类型和hashCode
- 打印对象时就是在调用对象的toString方法
- equals(Object obj):比较两个对象是否相等(逻辑上)
- 底层使用"=="实现比较,可按照需求进行重写
- hashCode():计算对象的存储位置(在HashSet和HashMap中的位置,而非堆中的位置)
- 源码修饰词[native]:调用本地方法(哈希算法),不需要程序员关心
- equals能判断相等的两个元素,hashCode值必须一样
- equals判断不相等的两个元素,hashCode值尽量不一样
- 可按照需求进行重写,通常与equals一起重写
- getClass():得到对象的字节码对象
- wait():线程等待
- wait(long timeout)
- wait(long timeout,int nanos)
- notify():唤醒单个线程
- notifyAll():唤醒所有线程
- clone():克隆对象
- 前提:该对象必须实现[Cloneable]接口
- 浅克隆:只克隆对象,若对象属性中存在引用(假设为A),则源对象与克隆出来的对象同时指向A
- 深克隆:同时克隆对象与属性的引用,即存在源对象与它的属性引用A和克隆出来的对象与克隆出来的属性引用B(A与B内容相同,地址不同)
- finalize():当对象被回收时调用(相当于该对象的遗言)
- 可按照需求进行重写