一:Object類
- java.lang.Object是java所有類的父類,所有類默認繼承Object
- Object的第一類方法:線程相關
阻塞線程(超時返回和不帶超時):wait(_),wait(long timeout),wait(long timeout,int nanos)
喚醒線程: notify(),nitifyAll() - 第二類方法equals和hashCode
這2個方法一般會一起使用,一般重寫equals必須重寫hashCode方法(例如:String類),equals返回true時,hashCode相同,反之不一定 - toString
- finalize:釋放資源
- getClass返回對象的Class類型:在反射中應用比較多
- Clone方法:對象克隆
二:對象克隆學習
一般來說2種方式:重寫Object的clone方法和java的序列化
1:重寫clone
類實現Cloneable接口
重寫clone方法,內部調用super.clone
注意:此方法是淺層次克隆,只克隆該對象自身,對象內部引用類型的對象無法克隆,如果進行深克隆,需要所有相關對象實現clone,並依次調用,但類型層次太多時,使用起來不方便,可以使用序列化方式
2:序列化方法
實現serializable接口,通過流的方式序列化到磁盤,在反序列化就生成了新的對象(所有類實現serializable接口)