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包機制Java
- Java反射機制Java反射
- java垃圾回收機制Java
- java利器——反射機制Java反射
- Java中斷機制Java
- Java異常機制Java
- Java的反射機制Java反射
- Java 的 SPI 機制Java
- Java的代理機制Java
- Java 垃圾回收機制Java
- Java核心反射機制Java反射
- Java的SPI機制Java
- Java安全基礎之Java反射機制和ClassLoader類載入機制Java反射
- Java SPI機制詳解Java
- Java反射機制那些事Java反射
- Java反射機制簡答Java反射
- Java 中的 反射機制Java反射
- Java SPI機制簡述Java
- java垃圾回收機制整理Java
- Java的泛型機制Java泛型
- java類載入機制Java
- JAVA 基礎 – clone淺克隆與深克隆Java
- Java筆記-反射機制(一)Java筆記反射
- 淺談Java —— Reflection機制(一)Java
- Java記憶體管理機制Java記憶體
- 理解的Java中SPI機制Java
- Java——事件處理機制概要Java事件
- Java異常處理機制Java
- 學java12包機制Java
- Java(5)-雙親委派機制Java
- JVM--java沙箱安全機制JVMJava
- Java中的類反射機制Java反射
- 淺聊java執行機制Java
- Java註解與反射機制Java反射
- Java-SPI機制詳解Java
- Java的執行機制分析!Java
- java進階(41)--反射機制Java反射
- java回撥函式機制Java函式
- Java基礎篇—Java類載入機制Java