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

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

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

    隨筆 - 11  文章 - 33  trackbacks - 0
    <2007年9月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    •  

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

           今天看了一下java里的clone,在實驗中留意到一個問題:如果一個類不重寫clone()方法,那么根本無法調(diào)用clone()方法。這讓我感到困惑,Object類里面寫了protected clone(),而java里所有類都是繼承Object,為什么它們沒法繼承Object的clone()方法呢?希望哪位好心人能解釋下,感激不盡!

           再一個就是深clone和淺clone,個人覺得淺clone不能算真正意義上的clone。而深clone太麻煩了,它必須保證類的非原始類型屬性也是cloneable的,屬性的屬性也是一樣,不光要cloneable,還要在實現(xiàn)clone()方法時一個一個的clone。如果一個類的非原始類型的屬性又多又深,基本上,這個類就是uncloneable了!

            需要說明的是,以上所說的“非原始類型”不包含String,因為String的實例是不可變的,它無需被clone。


            以上的想法還很不成熟,希望各位大蝦能指點指點
    posted on 2007-09-18 11:25 teasp 閱讀(479) 評論(4)  編輯  收藏 所屬分類: Java學習

    FeedBack:
    # re: java里的clone 2007-09-18 12:07 teasp
    又看了一下,ArrayList是淺clone  回復  更多評論
      
    # re: java里的clone 2007-09-19 10:20 zht
    不是不能繼承Object的clone方法,是如果要想進行復制,必須得實現(xiàn)cloneable接口才可以,這個接口表明類可用clone進行復制  回復  更多評論
      
    # re: java里的clone 2007-09-19 11:56 teasp
    非常感謝樓上的回復,雖然你說的我知道。應該是我沒表述清楚,第一段里的“沒法繼承”應該是“沒有繼承”。我的意思是由于其他類都是繼承Object,所以應該繼承了Object的clone()方法,只是如果這個類沒有實現(xiàn)cloneable的話,在調(diào)用clone()時會拋異常。而實際情況是,如果沒有實現(xiàn)cloneable并重寫clone()方法,壓根就沒clone()方法可以調(diào)用,這很奇怪。  回復  更多評論
      
    # re: java里的clone[未登錄] 2007-09-22 14:16 Eric

    “而實際情況是,如果沒有實現(xiàn)cloneable并重寫clone()方法,壓根就沒clone()方法可以調(diào)用,這很奇怪。”

    盡信書不如無書啊,說實話core java 7th vol1的翻譯實在是不敢恭維。
    請看下面的代碼:

    class Employee implements Cloneable throws CloneNotSupportedException
    {
    public Employee getEmployee()
    {
    return (Employee)clone();
    }
    }

    首先要使Employee支持克隆,必須實現(xiàn)Cloneable接口。
    genEmployee方法實現(xiàn)的淺克隆跟覆蓋Object類的clone方法效果是一樣的。
    只不過clone這個名字是大家所遵循的,僅此而已。

      回復  更多評論
      
    主站蜘蛛池模板: 亚洲av日韩av激情亚洲| 啊灬啊灬别停啊灬用力啊免费看| 亚洲午夜福利AV一区二区无码 | 亚洲av无码潮喷在线观看| a免费毛片在线播放| 国产亚洲精品无码专区| GOGOGO免费观看国语| 亚洲成在人线av| 8090在线观看免费观看| 亚洲一区无码中文字幕乱码| 永久免费毛片在线播放| 亚洲6080yy久久无码产自国产| 国产一区在线观看免费| 久久国产免费直播| 亚洲另类激情综合偷自拍| www.999精品视频观看免费| 亚洲人成欧美中文字幕| 亚洲春黄在线观看| 最新中文字幕电影免费观看| 亚洲av无码片vr一区二区三区| 亚洲精品视频免费观看| 日韩免费高清播放器| 亚洲午夜久久久精品电影院| 最好免费观看韩国+日本 | 0588影视手机免费看片| 在线综合亚洲欧洲综合网站| 国产免费久久精品| 国产免费网站看v片在线| 亚洲日韩在线视频| 免费A级毛片无码A| 97在线视频免费| 国产偷国产偷亚洲高清人| 59pao成国产成视频永久免费 | 久久青草亚洲AV无码麻豆| 18禁网站免费无遮挡无码中文 | 国产午夜无码精品免费看动漫| 国产成人精品日本亚洲专区6| 亚洲av无码不卡私人影院| 一级毛片在线观看免费| 国产亚洲午夜精品| 亚洲色av性色在线观无码|