• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            Java對(duì)象的淺拷貝和深拷貝

            首先介紹變量拷貝,變量拷貝時(shí),原始變量和拷貝的新變量引用同一個(gè)對(duì)象。
            例如:

            Java代碼 clip_image001

            1. Employee e1 = new Employee();  
            2. Employee e2 = e1;  //----引用,沒有復(fù)制

            Employee e1 = new Employee();

            Employee e2 = e1;



            如果要?jiǎng)?chuàng)建一個(gè)對(duì)象的新拷貝,其狀態(tài)和原對(duì)象一樣,但是以后各自狀態(tài)各自維護(hù),就要使用到clone方法了,當(dāng)然你也可以通過其他方法實(shí)現(xiàn)。

            clone
            Object類的一個(gè)protected方法,也就意味的你不能亂拷貝的,其次如果對(duì)象中的所有屬性都屬于數(shù)值或者基本類型,這樣拷貝沒有問題的,但是,如果對(duì)象中包含子對(duì)象的引用,那么拷貝的結(jié)果就是兩個(gè)對(duì)象引用同一個(gè)子對(duì)象。

            1
            、淺拷貝
            默認(rèn)的拷貝都是淺拷貝,你可以通過下面的方法實(shí)現(xiàn):

            Java代碼 clip_image001

            1. class Employee implements Cloneable  
            2. {  
            3.    public Employee clone() throws CloneNotSupportedException  
            4.     {  
            5.      return super.clone();  
            6.     }  

            class Employee implements Cloneable

            {

               public Employee clone() throws CloneNotSupportedException

                {

                 return super.clone();

                }

            }


            淺拷貝需要記住的是原對(duì)象的各屬性最好都是基本類型或者不可變的對(duì)象。

            2
            、深拷貝
            深拷貝是相對(duì)淺拷貝的,解決不能管理子對(duì)象的問題的。
            實(shí)現(xiàn)方法如下:

            Java代碼 clip_image001

            1. class Employee implements Cloneable  
            2. {  
            3.    public Object clone() throws CloneNotSupportedException  
            4.     {  
            5.      Employee cloned = (Employee)super.clone();  
            6.  
            7.      //深拷貝子對(duì)象  
            8.      cloned.dep = (Department)dep.clone();  
            9.      return cloned.  
            10.     }  

            class Employee implements Cloneable

            {

               public Object clone() throws CloneNotSupportedException

                {

                 Employee cloned = (Employee)super.clone();

             

                 //深拷貝子對(duì)象

                 cloned.dep = (Department)dep.clone();

                 return cloned.

                }

            }

             

            posted on 2009-07-24 12:45 肥仔 閱讀(351) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Web-后臺(tái)

            久久久噜噜噜久久熟女AA片| 国内精品久久久久久久97牛牛| 国内精品久久久久| 国产婷婷成人久久Av免费高清| 中文字幕乱码久久午夜| 国内精品久久国产| 精品伊人久久久| 久久久久精品国产亚洲AV无码| 久久精品国产亚洲av麻豆图片| 2021国产精品久久精品| 中文字幕久久精品无码| 久久久婷婷五月亚洲97号色| 国产美女久久精品香蕉69| 日韩精品国产自在久久现线拍| 久久精品国产亚洲网站| 久久有码中文字幕| 99久久99久久精品国产片果冻| 久久精品国产99久久久| 欧美伊香蕉久久综合类网站| 久久成人18免费网站| 久久久久亚洲精品日久生情| 久久久久AV综合网成人 | 欧美久久综合九色综合| 热99RE久久精品这里都是精品免费| 综合人妻久久一区二区精品| 国产精品久久久久影院色| 欧美精品福利视频一区二区三区久久久精品 | 亚洲熟妇无码另类久久久| 97r久久精品国产99国产精| 久久丝袜精品中文字幕| 性色欲网站人妻丰满中文久久不卡| 国产一级做a爰片久久毛片| 久久精品国产精品亚洲下载| 三上悠亚久久精品| 色综合合久久天天给综看| 精品人妻久久久久久888| 久久久噜噜噜久久| 久久九九全国免费| 国内精品伊人久久久久AV影院| 午夜精品久久影院蜜桃| 18岁日韩内射颜射午夜久久成人|