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接口)

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