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

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

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

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評(píng)論 :: 0 Trackbacks
            在JAVA原代碼中可以看到ArrayList類(lèi)的實(shí)現(xiàn).其中定義ArrayList類(lèi)的時(shí)候,如下

            public class ArrayList<E> extends AbstractList<E>
                implements List<E>, RandomAccess, Cloneable, java.io.Serializable
            
            在這里我有個(gè)疑惑,ArrayList繼承了AbstractList,而AbstractList實(shí)現(xiàn)了List接口.為什么不直接這樣寫(xiě)呢,如下:

            public class ArrayList<E> extends AbstractList<E>
                implements RandomAccess, Cloneable, java.io.Serializable

            那個(gè)能解釋一下!謝謝先!
    posted on 2009-10-27 08:53 二胡 閱讀(1888) 評(píng)論(10)  編輯  收藏 所屬分類(lèi): Java

    評(píng)論

    # re: 關(guān)于ArrayList類(lèi)的疑惑! 2009-10-27 09:13 yezi
    哈哈,這個(gè)我也不知道。你看看spring源碼中的,也存在這樣的問(wèn)題  回復(fù)  更多評(píng)論
      

    # re: 關(guān)于ArrayList類(lèi)的疑惑![未登錄](méi) 2009-10-27 09:25 Jet
    這是一種編碼習(xí)慣,這樣做的好處在于ArrayList類(lèi)不會(huì)忘記實(shí)現(xiàn)List接口中的方法。  回復(fù)  更多評(píng)論
      

    # re: 關(guān)于ArrayList類(lèi)的疑惑! 2009-10-27 09:32 凌晨風(fēng)
    同意樓上的  回復(fù)  更多評(píng)論
      

    # re: 關(guān)于ArrayList類(lèi)的疑惑! 2009-10-27 09:33 zhxing
    我覺(jué)得應(yīng)該是方便于擴(kuò)展吧。。
    下面是java doc 上說(shuō)得
    public abstract class AbstractList<E>extends AbstractCollection<E>implements List<E>此類(lèi)提供 List 接口的骨干實(shí)現(xiàn),以最大限度地減少實(shí)現(xiàn)“隨機(jī)訪問(wèn)”數(shù)據(jù)存儲(chǔ)(如數(shù)組)支持的該接口所需的工作。對(duì)于連續(xù)的訪問(wèn)數(shù)據(jù)(如鏈表),應(yīng)優(yōu)先使用 AbstractSequentialList,而不是此類(lèi)。
      回復(fù)  更多評(píng)論
      

    # re: 關(guān)于ArrayList類(lèi)的疑惑! 2009-10-27 09:40 charlie's logic
    為了強(qiáng)調(diào)接口編程。

    List list=new ArrayList();





      回復(fù)  更多評(píng)論
      

    # re: 關(guān)于ArrayList類(lèi)的疑惑! 2009-10-27 09:51 feenn
    @charlie's logic
    re  回復(fù)  更多評(píng)論
      

    # re: 關(guān)于ArrayList類(lèi)的疑惑! 2009-10-27 09:59 二胡
    @charlie's logic
    AbstractList 類(lèi)也實(shí)現(xiàn)了List接口的
    所以我認(rèn)為,也可以寫(xiě)成
    List list=new ArrayList();

    注:AbstractList類(lèi)定義如下:
    public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> {  回復(fù)  更多評(píng)論
      

    # re: 關(guān)于ArrayList類(lèi)的疑惑! 2009-10-27 11:06 raymon
    我以前也注意到這個(gè)問(wèn)題了, 想著可能是編程規(guī)范上的事。

    還專(zhuān)門(mén)做了個(gè)試驗(yàn),看不加“implements List”行不行, 當(dāng)然是沒(méi)問(wèn)題的。   回復(fù)  更多評(píng)論
      

    # re: 關(guān)于ArrayList類(lèi)的疑惑! 2009-10-27 11:18 charlie's logic
    推薦去stackoverflow.com/ 問(wèn)一下,看看老外什么解釋?zhuān)?nbsp; 回復(fù)  更多評(píng)論
      

    # re: 關(guān)于ArrayList類(lèi)的疑惑! 2009-10-28 08:06 隔葉黃鶯
    jdk 源代碼許多這樣的寫(xiě)法,因?yàn)?implements 是沒(méi)有污染性的,讓你看到 ArrayList 能直接意識(shí)到那是實(shí)現(xiàn)了 List 接口的,而不需要一直回溯去找。  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 美女视频黄的全免费视频| 久久精品无码一区二区三区免费| 亚洲Av永久无码精品三区在线| 1000部啪啪毛片免费看| 老牛精品亚洲成av人片| 久久精品国产亚洲网站| 在线观看免费大黄网站| 最新亚洲成av人免费看| 亚洲综合av一区二区三区不卡 | 亚洲乱妇熟女爽到高潮的片 | 亚洲伊人久久大香线蕉在观 | 国产亚洲婷婷香蕉久久精品| 和日本免费不卡在线v| 一级免费黄色大片| 亚洲成AV人片久久| 久久精品国产亚洲一区二区三区 | 亚洲毛片av日韩av无码| 男女超爽刺激视频免费播放| 两性色午夜免费视频| 亚洲精品123区在线观看| 亚洲精品国偷自产在线| 韩国18福利视频免费观看| 久久久久国产免费| 国产精品亚洲五月天高清| 亚洲国产精品综合福利专区| 亚洲日韩一页精品发布| 四虎影院永久免费观看| 黄瓜视频高清在线看免费下载| 色www永久免费网站| 香港一级毛片免费看| 久久精品国产亚洲av麻豆图片| 亚洲韩国精品无码一区二区三区 | 久久久久久久岛国免费播放| 欧洲美女大片免费播放器视频| 男人天堂2018亚洲男人天堂| 色婷婷六月亚洲婷婷丁香| 不卡精品国产_亚洲人成在线| 日韩午夜免费视频| 成年丰满熟妇午夜免费视频| 国产成人精品免费视频大全麻豆| 在线视频网址免费播放|