Object类各个方法的详解
Posted 唐僧洗澡不秃头
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object类各个方法的详解相关的知识,希望对你有一定的参考价值。
getClass
final native getClass 获取当前运行时对象的 Class 对象
hashCode
native hashCode 返回对象的 hash 码
clone
native clone 拷贝当前对象
浅拷贝:仅进行值拷贝
深拷贝:进行值拷贝和引用类型拷贝,新建对象
equals
equals 通过内存地址比较两个对象是否相等
底层用的 this == obj
String 类重写了这个方法使用值来比较是否相等,通过比较字符数组的每个元素
toString
toString 返回类名@哈希码的 16 进制
getClass().getName() + "@" + Integer.toHexString(hashCode())
notify
native notify 唤醒当前对象监视器的任一个线程
notifyAll
native notifyAll 唤醒当前对象监视器上的所有线程
wait
final native wait 暂停线程的执行
三个不同参数方法
native wait(timeout);
final wait()一直等待
wait(0)
final wait(long timeout, int nanos)等待多少毫秒
if (nanos > 0) {
timeout++;
}
与 Thread.sleep(long time) 相比,sleep 使当前线程休眠一段时间,并没有释放该对象的锁,wait 释放了锁
finalize
finalize 对象被垃圾回收器回收时执行的方法,默认为空实现,可以参考c++的析构函数
以上是关于Object类各个方法的详解的主要内容,如果未能解决你的问题,请参考以下文章