<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果冻传媒| 妞干网免费视频在线观看| 久久久久免费视频| 四虎国产精品成人免费久久| 99亚洲乱人伦aⅴ精品| 色综合久久精品亚洲国产| 亚洲国产成人久久精品大牛影视 | 亚洲黄色免费网址| 最近最新高清免费中文字幕| 99视频有精品视频免费观看| 1000部免费啪啪十八未年禁止观看 | 亚洲午夜在线播放| 一本天堂ⅴ无码亚洲道久久| 亚洲日韩中文字幕一区| 美女羞羞视频免费网站| 久久毛片免费看一区二区三区| 国产成人无码精品久久久久免费| 久久最新免费视频| 毛片在线播放免费观看| 亚洲精品成人片在线观看精品字幕| 亚洲国产精品VA在线观看麻豆| 亚洲91精品麻豆国产系列在线 | 亚洲毛片不卡av在线播放一区| 亚洲午夜爱爱香蕉片| 亚洲精品白浆高清久久久久久| 久久久久久久久亚洲| 亚洲国产精品成人综合久久久| 亚洲AV无码成人专区| 国产成人综合亚洲绿色| 精品国产污污免费网站入口在线 | 亚洲6080yy久久无码产自国产| 黄页免费视频播放在线播放| 91av免费在线视频| 最近免费中文字幕大全高清大全1 最近免费中文字幕mv在线电影 | 亚洲视频在线观看不卡| 一本色道久久88—综合亚洲精品| 免费人成大片在线观看播放| 国产午夜精品久久久久免费视| 毛片免费观看视频| 免费少妇a级毛片人成网| 亚洲国产成人片在线观看|