每天進步一點點之Java基礎(1)——Object 類中的方法總結

 

1.Object 類的結構

如圖可知,Object 類中的方法,按照用途可以分爲以下幾種:

  1. 構造函數hashCode() 和 equals() 函數用來判斷對象是否相同
  2. wait(), wait(long), wait(long,int), notify(), notifyAll() 線程等待和喚醒
  3. toString() 和 getClass()
  4. clone()
  5. finalize() 用於在垃圾回收
  6. registerNatives() 本地註冊

2. 方法說明

  1. clone方法  
    保護方法,實現對象的淺複製,只有實現了 Cloneable 接口纔可以調用該方法,否則拋出 CloneNotSupportedException 異常。
  2. getClass 方法
     
    final 方法,獲得運行時類的類型。
  3. toString 方法
     
    返回一個 String 對象,用來標識自己。
  4. finalize 方法 
    該方法用於釋放資源。當垃圾回收器確定不存在對該對象的更多引用時,由對象的垃圾回收器調用此方法。
  5. equals 方法 
    用於確認兩個對象是否“相同”。​​​​​​
  6. hashCode 方法 
    用於獲取對象的哈希值。
  7. wait 方法 
    用於讓當前線程失去操作權限,當前線程進入等待序列。
    wait方法就是使當前線程等待該對象的鎖,當前線程必須是該對象的擁有者,也就是具有該對象的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。wait(long timeout)設定一個超時間隔,如果在規定時間內沒有獲得鎖就返回。

    調用該方法後當前線程進入睡眠狀態,直到以下事件發生。

    (1)其他線程調用了該對象的notify方法。

    (2)其他線程調用了該對象的notifyAll方法。

    (3)其他線程調用了interrupt中斷該線程。

    (4)時間間隔到了。

    此時該線程就可以被調度了,如果是被中斷的話就拋出一個InterruptedException異常。

  8. notify 方法  
    喚醒在此對象監視器上等待的單個線程。
  9. notifyAll 方法
    喚醒在此對象監視器上等待的所有線程。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章