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靜態代理和動態代理詳解 |