隨筆-208  評論-469  文章-30  trackbacks-0

          抽象類和接口都位于繼承樹的上層,它們具有以下相同點(diǎn):
          代表系統(tǒng)的抽象層;
          ??? 當(dāng)一個系統(tǒng)使用一棵繼承樹上的類時,應(yīng)該盡可能地把引用變量聲明為繼承樹的上層抽象類型,這樣可以提高兩個系統(tǒng)之間的松耦合。

          都不能被實例化;
          都能包含抽象方法。這些抽象方法用于描述系統(tǒng)能提供哪些服務(wù),但不必提供具體的實現(xiàn)。
          抽象類與接口主要有兩大區(qū)別:

          ??? (1)在抽象類中可以為部分方法提供默認(rèn)的實現(xiàn),從而避免在子類中重復(fù)實現(xiàn)它們,提高代碼的可重用性,這是抽象類的優(yōu)勢所在;而接口中只能包含抽象方法。
          ???
          ??? 擴(kuò)展功能時,在抽象父類中加入具體方法不會影響子類;但在接口中加入抽象方法會影響到所有實現(xiàn)類。

          ??? (2)一個類只能繼承一個直接的父類,這個父類有可能是抽象類;但一個類可以實現(xiàn)多個接口,這是接口的優(yōu)勢所在。

          posted on 2006-11-29 00:40 EricWong 閱讀(213) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 科尔| 靖西县| 山东| 南城县| 双流县| 合作市| 南康市| 鸡东县| 玛曲县| 松原市| 永德县| 高碑店市| 永州市| 石河子市| 临朐县| 汶上县| 宜城市| 陆河县| 兴义市| 姚安县| 丰顺县| 保康县| 丰城市| 鄂伦春自治旗| 宜宾市| 惠安县| 许昌市| 辽宁省| 马鞍山市| 旌德县| 读书| 曲阜市| 青阳县| 白水县| 高密市| 百色市| 辰溪县| 赤水市| 英吉沙县| 五寨县| 杭州市|