Java Review之Object類

Object類介紹

介紹

Object類是全部java類的根基類,全部的類都是從它繼承下來。java

方法組成

  1. getClass()
    用於獲取運行時類對象app

  2. toString()
    一種類型對象進行打印輸出或者與字符串類型進行拼接的時候,這個類型的對象都會自動調用toString()方法轉換成字符串類型再進行後續操做,若是這個類型沒有本身實現toString方法,則調用Object類的,默認返回這個類的ClassName+‘@’+一個hashCode爲參數計算的無符號16進制ide

  3. equals(obj)
    很是重要的一個方法,用於判斷對象與對象之間是否相等,注意:equals與== 不同, equals只判斷對象的值是否相等,==除了判斷對象的值,還須要判斷對象的內存地址是否同樣 注意:equals的參數是Object類型的spa

  4. hashCode()
    此方法返回對象的hash值,主要用於一些集合類(例如HashMap)中進行對象哈希查找,須要強調一對:此方法與equals是一對的,對象重寫equals方法必定要把hashcode方法也一塊兒重寫, 並且選取相同的屬性進行運算 定理:equals的兩個對象hashCode必定相等,hashCode相等的兩個對象不必定equals線程

  5. wait()
    用於暫停持有對象的線程,讓出資源,讓當前線程進入等待狀態, 他與Thread的sleep方法有着本質的區別,wait方法是讓線程進入等待狀態,此時並不佔用對象資源,其餘線程能夠佔用該對象,而sleep方法是霸佔着對象資源睡大覺,其餘線程只能眼巴巴等着。 該線程wait以後進入等等狀態,想要再進入調度狀態須要用如下方式喚醒, 1.調用了notify或者notifyAll方法 2.wait()方法設置的等待時間到了 3.其它線程調用了中斷線程方法interrupt方法code

  6. notify()
    用於喚醒在對象上等待的某個線程orm

  7. notifyAll()
    用於喚醒在對象上等待的全部線程對象

  8. clone()
    淺拷貝方法,用於快速建立對象,可是由於是淺拷貝,因此建立後的對象改變,原對象也會跟着改變,若是須要深拷貝,須要子類重寫clone方法,方法中返回一個從新new的實例對象繼承

  9. finalize()
    用於釋放資源的,可是由於沒法知曉什麼時候回調用釋放,因此現實中不多使用該方法內存

相關文章
相關標籤/搜索