<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 108,comments - 56,trackbacks - 0
          ☆什么是Clone
      Clone就是得到一個對象x的副本,而且x.clone() != x。Clone分為兩種:淺度克隆Shallow Clone和淺度克隆Deep Clone


           Object類有clone()方法: protected native Object clone() throws CloneNotSupportedException; 但是Object本身沒有implements  Cloneable,在執行clone方法時,先檢查this.getClass()是否實現了cloneable接口,如果沒有實現Cloneable接口,clone()就會拋CloneNotSupportedException返回。否則就會創建一個新的this.getClass()的對象other,并將this每一個field的值賦值給other的對應field,然后返回other。

           接口Cloneable起一個標志作用(和Serializable類似),用來標志該類具有克隆功能。



          ☆實現Shallow clone
      Shallow Clone只是將基本類型賦值過去,對于對象傳的是引用。(String對于比較特別,[一般內容一樣則引用一樣,輕量級模式])
    Shallow Clone
    輸出結果


          ☆Shallow Clone的問題
      因為對于對象只是拷貝引用,所有就會造成this對其中對象的修改引起other中相應對象的修改,例子如下:
    Shallow Clone問題
    輸出結果


          ☆Deep Clone
      有些時候我們不希望this與other之間的修改相互影響,這時就應該用深度克隆。對所有涉及到的對象也實現Clone。
    Deep Clone
    輸出結果


          ☆參考
          http://www.tkk7.com/orangelizq/archive/2007/10/17/153573.html
          http://www.tkk7.com/junky/archive/2007/05/08/115928.html
    posted on 2008-01-30 16:41 破繭而出 閱讀(709) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 在线jlzzjlzz免费播放| 99国产精品视频免费观看| 日韩中文字幕精品免费一区| 久久亚洲AV午夜福利精品一区 | 亚洲无人区视频大全| 91久久青青草原线免费| 亚洲日本中文字幕区| 外国成人网在线观看免费视频 | 亚洲综合色丁香婷婷六月图片| 91频在线观看免费大全| 亚洲天堂2017无码中文| 毛片免费在线播放| 妇女自拍偷自拍亚洲精品| 国产免费黄色大片| 人人爽人人爽人人片av免费| 亚洲中文字幕不卡无码| 久久久精品免费国产四虎| 亚洲高清美女一区二区三区| 91成人免费在线视频| 亚洲精品无码国产片| 亚洲精品tv久久久久久久久久| 中文在线观看免费网站| 亚洲国产精品第一区二区| 毛片免费全部播放无码| 在线观看亚洲AV每日更新无码| 免费在线观看黄网| 波多野结衣在线免费视频 | 亚洲福利在线观看| 日韩国产免费一区二区三区| 亚洲av色香蕉一区二区三区 | a毛片在线免费观看| 91精品国产亚洲爽啪在线影院 | 两个人日本WWW免费版| 亚洲视频在线观看网站| 国产精品免费综合一区视频| 99精品视频免费| 国产精品亚洲专区在线观看| 亚洲真人日本在线| 成人免费视频69| www免费插插视频| 亚洲AV无码专区在线亚|