隨筆-208  評(píng)論-469  文章-30  trackbacks-0

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

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

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

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

          posted on 2006-11-29 00:40 EricWong 閱讀(213) 評(píng)論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 留坝县| 雷波县| 澎湖县| 德钦县| 安达市| 东明县| 通化县| 富阳市| 炎陵县| 喀喇沁旗| 平乐县| 巴塘县| 华坪县| 荃湾区| 禄劝| 凌海市| 扎赉特旗| 垣曲县| 霍城县| 新宾| 凤冈县| 黄梅县| 连云港市| 顺义区| 大渡口区| 长沙市| 赞皇县| 盐源县| 喀喇沁旗| 客服| 沭阳县| 镇安县| 阜城县| 吴江市| 临潭县| 沧源| 公主岭市| 江北区| 仁寿县| 清镇市| 涿州市|