CoreJava_對象的克隆_百度文庫_第1頁
CoreJava_對象的克隆_百度文庫_第2頁
CoreJava_對象的克隆_百度文庫_第3頁
CoreJava_對象的克隆_百度文庫_第4頁
CoreJava_對象的克隆_百度文庫_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄1. 對象的克隆 . - 1 -1.1. 淺克隆. - 1 -1.2. 深克隆. - 1 -2. 克隆實例. - 1 -2.1. 淺克隆實例. - 1 -2.2. 深克隆實例. - 3 -2.3. 常見問題. - 5 -1.對象的克隆Java實現(xiàn)對象克隆的步驟:(1實現(xiàn)Cloneable接口(2重寫Object類的clone(方法,并擴大其訪問權限的范圍使得在類外可訪問被復制對象的所有屬性都含有與源對象屬性有相同的值,而所有的對其他對象的引用仍然指向原來的對象。換言之,淺復制僅僅復制所考慮的對象,而不復制其屬性引用的對象。淺克隆只會克隆一層(對象層,克隆后得到的對象和原來的對象相比較,他們

2、的屬性值都相等。Object類的clone(方法屬于淺克隆。被復制對象的所有變量屬性都含有源對象屬性有相同的值,包含那些引用其他對象的屬性,那些引用其他對象的變量將指向被復制過的新對象,而不再是原有的那些被引用的對象。換言之,深復制把要復制的對象所引用的對象也都復制了一遍。深克隆會克隆多層(可以達到屬性層,具體情況要看clone(方法的實現(xiàn)邏輯,克隆后得到的對象和原來的對象相比較,他們的屬性值都不相等。2.克隆實例實例:對Person類實現(xiàn)克隆方法。實例說明:clone(方法將對象復制一份并返回給調用者。一般而言,clone(方法滿足如下條件:(1對任何對象x,都有 Person實體類: 測試類: 結果分析:(4前兩行打印的是兩個對象p1和p2的內存地址(5p1和p2不是同一個對象,所以p1=p2不相等(6p2是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論