複習2:Object

Object

  • Object是什麼
  • Object的11個方法

Object是什麼

所有類的基類(父類),換而言之,所有類都繼承自Object類


Object的11個方法(重要)

  • toString():輸出引用類型對象的類型和hashCode
    • 打印對象時就是在調用對象的toString方法
  • equals(Object obj):比較兩個對象是否相等(邏輯上)
    • 底層使用"=="實現比較,可按照需求進行重寫
  • hashCode():計算對象的存儲位置(在HashSet和HashMap中的位置,而非堆中的位置)
    • 源碼修飾詞[native]:調用本地方法(哈希算法),不需要程序員關心
    • equals能判斷相等的兩個元素,hashCode值必須一樣
    • equals判斷不相等的兩個元素,hashCode值儘量不一樣
    • 可按照需求進行重寫,通常與equals一起重寫
  • getClass():得到對象的字節碼對象
  • wait():線程等待
  • wait(long timeout)
  • wait(long timeout,int nanos)
  • notify():喚醒單個線程
  • notifyAll():喚醒所有線程
  • clone():克隆對象
    • 前提:該對象必須實現[Cloneable]接口
    • 淺克隆:只克隆對象,若對象屬性中存在引用(假設爲A),則源對象與克隆出來的對象同時指向A
    • 深克隆:同時克隆對象與屬性的引用,即存在源對象與它的屬性引用A克隆出來的對象與克隆出來的屬性引用B(A與B內容相同,地址不同)
  • finalize():當對象被回收時調用(相當於該對象的遺言)
    • 可按照需求進行重寫

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