第十一節下篇:Object類

Object類方法分類

Object類中的方法從線程的角度上講可以分爲兩類: * 非線程方法:(不知道描述是否正確...) * clone() 創建並返回此對象的一個副本 * equals(Object obj) 指示其他某個對象是否與此對象"相等" * finalize() 當垃圾回收器確定不存在對該對象的更多引用時,由該對象的垃圾收集器調用此方法 * getClass() 返回此Object的運行時類 * hashcode()返回該對象的哈希碼值 * toString()返回該對象的字符串表示 * 針對線程的方法: * notify() 喚醒在此對象監視器上等待的單個線程 * notifyAll() 喚醒在此對象監視器上等待的所有線程 * wait()

常用方法簡單介紹

  • Object類是所有類的父類,所有類都直接或者間接的繼承了該類,俗話說能力越大責任越大,因此它的功能會更多的考慮到子類共同的需求,與某個具體類去實現特定的某個功能不同,Object類定義的方法多是爲子類考慮的,所有類都可能用到的方法.通俗點講,Object類就是"以天下蒼生爲己任,先天下之憂而憂,後天下之樂而樂云云..."
  • 使用最多,重寫最頻繁的兩個方法:
    • equals(Object obj) 看Object源碼可知,此方法實現的功能和==是一模一樣的,那麼爲什麼Object還要定義一個這個方法呢??定義這個方法的目的就是當子類需要進行比較時,可以按照自己的實際需求去重寫該方法,也就是說,該方法的存在意義就是爲子類服務,讓子類進行重寫的.String就是重寫了equals方法來實現比較兩個字符串內容而不是其地址值的目的.
    • toString() 此方法在Object中去實現獲取其地址的功能,但是這並沒有什麼實際卵用,其存在的意義和equals()方法差不多,都是爲了讓子類去重寫該方法的.ArrayList()類就重寫了該方法.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章