Java中的Object类详解
- 1. equals(Object obj)
- 2. hashCode()
- 3. toString()
- 4.getClass()
- 5.notify() 和 notifyAll()
- 6. wait() 和 wait(long timeout)
- 7. clone()
- 8.finalize()
Java中的 Object 类是所有类的父类,可以被所有Java类继承并使用。下面先看下源码:
详细介绍一下这些方法的作用:
1. equals(Object obj)
- 用于比较两个对象是否相等。
- 默认实现是比较两个对象的
引用
是否相等,可以被子类重写以实现自定义的相等判断逻辑。
2. hashCode()
- 返回对象的
哈希码值
。 - 默认实现是返回对象的
内部地址
转换的哈希码,可以被子类重写以实现自定义的哈希码计算逻辑。
3. toString()
- 返回对象的字符串表示。
- 默认实现是返回类的
全限定名加上对象的哈希码值
,通常需要被子类重写以提供更有意义的字符串表示。
4.getClass()
- 返回对象的
运行时类
。 - 返回一个 Class 对象,可以用于获取类的信息。
5.notify() 和 notifyAll()
- 用于
唤醒在该对象上等待
的线程。 - 通常与
synchronized关键字
(关于synchronized可以看博主的另一篇博文 synchronized是如何保证代码同步的!!!)一起使用,实现线程间的通信。
6. wait() 和 wait(long timeout)
- 使当前线程
在调用对象上
等待,直到另一个线程调用该对象
notify() 或 notifyAll() 方法唤醒它。 - 可以指定等待的超时时间。
7. clone()
- 创建并返回对象的一个拷贝。
- 默认实现是
浅拷贝
,即只复制对象的引用,可以被子类重写
以实现深拷贝
。
8.finalize()
- 在对象被垃圾回收之前调用。
- 可以被子类
重写
以实现资源释放等清理操作
。
以上都是 Object 类中常用的方法,可以被所有Java类
继承并使用。通过重写这些方法
,可以实现自定义的对象行为
。
上一篇 Java中this和super的使用!!! | 记得点赞收藏哦!!! | 下一篇 Java静态代理和动态代理详解 |