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

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

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

    AntSoul

    它總是在行走,行走,永遠的行走…… 行走是它生存的恒久姿態和最佳造型。 它似乎有一雙不知疲倦的腳。 ———我說的是螞蟻。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      42 隨筆 :: 0 文章 :: 1 評論 :: 0 Trackbacks
    ??????? 在Java語言中,可以定義一種抽象類型,并且提供這種這一抽象類型的各種具體實現。實際上Java給我們提供不只是一種機制而是兩種讓我們可以做到這一點。它們是Java接口和Java抽象類。二者的區別如下:
    ?????? (1) 兩者最明顯的區別在于,Java抽象類可以提供部分方法的實現,而Java接口不能。這是Java抽象類的有點也是優勢。如果向一個抽象類加入一個新的具體的方法,那么所有的子類一下子就得到了這個新的具體的方法。如果向一個接口中加入一個新的方法,所有實現這個接口的類都不能全部成功的通過編譯,因為它們沒有實現這個新聲明的方法。這就是Java接口的一個缺點了。
    ?????? (2) 一個抽象類的實現只能由這個抽象類的子類給出,那么,這個實現出在抽象類所定義出的繼承的等級結構中,而由于Java語言限制多繼承,因此抽象類作為類型定義工具的效果就大打折扣了。反之,任何一個實現了Java接口所規定的方法的類都可以具有這個接口的類型,而一個類可以實現多個接口。這也是兩者最重要的區別之一。
    ????? (3) 從代碼重構的角度上看,將一個單獨的Java具體類重構為一個Java接口的實現是很容易的。我們只需要聲明一個接口,并將重要的方法添家到接口聲明中,然后在具體的類定義語句后加上一個何時的implments就OK了。而為一個已有的具體類添加一個抽象類作為抽象類型卻不是那么的容易了,因為這個具體類有可能已經有了一個超類,這樣以來,這個新定義的抽象類只好繼續向上移動,變成這個超類的超類,如此循環,最后這個新定義的抽象類必定處于整個等級類型結構的最上端,從而使得等級結構中的所有成員都受到影響。
    ????? (4)?Java接口是定義混合類型的理想工具。Mixin Type就是在一個類主類型之外的次類型。一個混合類表明一個類不僅具有主類型的行為,而且還具有其它的行為。比如Hashtabl類就具有多個類型。它的主類型為Map,這是一種Java聚集。而Cloneable接口則給出了一個次要類型,這個類型說明這個類是可以安全克隆的。同樣,Serializable也是一個次要類型,它表明這個類是可以串行化的。
    posted on 2007-03-29 10:00 yok 閱讀(924) 評論(0)  編輯  收藏 所屬分類: CoreJava
    主站蜘蛛池模板: 亚洲国产黄在线观看| 成人免费无码大片a毛片软件| 亚洲国产成人精品无码区花野真一| 亚洲乱码在线播放| 亚洲精品无码人妻无码| 狠狠躁狠狠爱免费视频无码| 日韩电影免费在线观看| 无码免费午夜福利片在线 | 国产精品亚洲专区无码WEB| 精品女同一区二区三区免费播放 | 亚洲日本va午夜中文字幕久久| 午夜亚洲www湿好大| 亚洲熟妇AV一区二区三区宅男| xxxxx做受大片在线观看免费| 97在线视频免费播放| 国产免费午夜a无码v视频| 亚洲国产精品无码AAA片| 亚洲一区二区三区免费视频| 亚洲免费在线观看| 色播在线永久免费视频| 久久精品国产亚洲香蕉| 男人免费视频一区二区在线观看| 91在线老王精品免费播放| 亚洲午夜成激人情在线影院| 日韩在线视频免费看| 亚洲一区二区三区免费在线观看 | 黄页网站免费在线观看| 亚洲精品无码精品mV在线观看| 在线综合亚洲欧洲综合网站| 成年人网站免费视频| 久久久久亚洲精品成人网小说 | 亚洲国产理论片在线播放| 黄网址在线永久免费观看 | 亚洲精品无码久久毛片| 国产AV无码专区亚洲AV蜜芽| 国产做床爱无遮挡免费视频| 最近免费mv在线观看动漫| 亚洲第一福利网站在线观看| 免费国产成人午夜在线观看| 亚洲香蕉网久久综合影视| xxxxxx日本处大片免费看|