jdk源碼:基礎(一):Object類學習總結

一:Object類

  1. java.lang.Object是java所有類的父類,所有類默認繼承Object
  2. Object的第一類方法:線程相關
    阻塞線程(超時返回和不帶超時):wait(_),wait(long timeout),wait(long timeout,int nanos)
    喚醒線程: notify(),nitifyAll()
  3. 第二類方法equals和hashCode
    這2個方法一般會一起使用,一般重寫equals必須重寫hashCode方法(例如:String類),equals返回true時,hashCode相同,反之不一定
  4. toString
  5. finalize:釋放資源
  6. getClass返回對象的Class類型:在反射中應用比較多
  7. Clone方法:對象克隆

二:對象克隆學習

一般來說2種方式:重寫Object的clone方法和java的序列化

1:重寫clone

類實現Cloneable接口
重寫clone方法,內部調用super.clone

注意:此方法是淺層次克隆,只克隆該對象自身,對象內部引用類型的對象無法克隆,如果進行深克隆,需要所有相關對象實現clone,並依次調用,但類型層次太多時,使用起來不方便,可以使用序列化方式

2:序列化方法

實現serializable接口,通過流的方式序列化到磁盤,在反序列化就生成了新的對象(所有類實現serializable接口)

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