java clone機制
java clone 克隆的物件同原物件一樣,具體可以用如下的形式描述:
x.clone() != x x.clone().getClass == x.getClass() x.clone().equals(x)
淺複製 vs. 深複製
淺複製與深複製的主要區別是是否對物件內部的引用型別進行clone操作,即深複製最終產生的物件與源物件時完全獨立的。
在考慮clone時,primitive和不可變物件型別是可以同等考慮的,都不會影響原型。
如何實現clone:
1.宣告實現Cloneable介面
2.呼叫super.clone拿到一個物件,如果父類的clone實現沒有問題的話,在該物件的記憶體儲存中,所有父類定義的field都已經clone好了,該類中的primitive和不可變型別引用也克隆好了,可變型別引用都是淺copy
3.把淺copy的引用指向原型物件的克隆體。
參考:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23937368/viewspace-1057863/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java的 clone方法Java
- Java反射機制Java反射
- java鎖機制Java
- java 心跳機制Java
- java垃圾回收機制Java
- Java中斷機制Java
- Java的代理機制Java
- Java核心反射機制Java反射
- java異常機制Java
- java利器——反射機制Java反射
- Java的SPI機制Java
- Java 垃圾回收機制Java
- Java的反射機制Java反射
- Java 的 SPI 機制Java
- Java——回撥機制Java
- Java反射機制(轉)Java反射
- jvm java回收機制JVMJava
- Java 底層機制Java
- Java反射機制研究Java反射
- java_clone方法使用詳解Java
- Java的clone()用法例項解析Java
- Java克隆(Clone)的應用薦Java
- Java SPI機制簡述Java
- Java SPI機制詳解Java
- java垃圾回收機制整理Java
- Java反射機制那些事Java反射
- java類載入機制Java
- Java 中的 反射機制Java反射
- Java的泛型機制Java泛型
- Java反射機制簡答Java反射
- java JVM垃圾回收機制JavaJVM
- 說說 Java 反射機制Java反射
- JMS java 訊息機制Java
- java的執行機制Java
- java機制總結 一Java
- JAVA(五)反射機制/AnnotationJava反射
- Java 反射機制分析指南Java反射
- 理解 Java 垃圾回收機制Java