3 抽象類與接口

3.1 抽象類

? ? ? ? 抽象類是從多個類中抽象出來的模板站故。

? ? 抽象方法和抽象類的規(guī)則如下:

? ? ? ? - 抽象類必須使用abstract修飾符來修飾,抽象方法也必須使用abstract來修飾,抽象方法不能有方法體抬闷。

? ? ? ? - 抽象類不能被實(shí)例化缸逃,無法使用new關(guān)鍵字來調(diào)用抽象類的構(gòu)造器創(chuàng)建抽象類的實(shí)例。即使抽象類里不包含抽象方法耐齐,這個抽象類也不能創(chuàng)建實(shí)例浪秘。

? ? ? ? - 抽象類可以包含成員變量、方法埠况、構(gòu)造器耸携、初始化塊、內(nèi)部類(枚舉询枚、接口)5種成員违帆。抽象類的構(gòu)造器不能用于創(chuàng)建實(shí)例,主要是用于被其子類調(diào)用金蜀。

? ? ? ? - 含有抽象方法的類只能被定義為抽象類刷后。

? ? abstract的使用規(guī)則:

? ? ? ? - 當(dāng)使用abstract修飾類時,表明這個類只能被繼承渊抄;當(dāng)時用abstract修飾方法時尝胆,表明這個方法必須由子類重寫。

? ? ? ? - final修飾的類不能被繼承护桦,final修飾的方法不能被重寫含衔。因此final和abstract不能同時使用。

? ? ? ? - 使用static修飾方法時,表明這個方法屬于該類本身贪染,如果用abstract修飾一個類方法缓呛,則用該類調(diào)用該類方法時將出現(xiàn)錯誤。因此static和abstract不能同時修飾某ge方法杭隙,即沒有類抽象方法哟绊。static和abstract可以同時修飾內(nèi)部類。

? ? ? ? - abstract方法不能定義為private訪問權(quán)限痰憎,abstract和private不能同時修飾方法票髓。

3.2 接口

? ? ? ? 接口定義了某一批類所需要遵守的規(guī)范,接口不關(guān)心這些類的內(nèi)部狀態(tài)數(shù)據(jù)铣耘,也不關(guān)心這些類里方法的實(shí)現(xiàn)細(xì)節(jié)洽沟,它只規(guī)定這批類里必須提供某些方法。

? ? ? ? 接口里不能包含普通方法蜗细,接口里的所有方法都是抽象方法裆操。接口里不能包含構(gòu)造器和初始化塊。Java 8對接口進(jìn)行了改進(jìn)鳄乏,允許在接口中定義默認(rèn)方法跷车,默認(rèn)方法可以提供方法實(shí)現(xiàn)。

? ? ? ? 接口所在的原文件名必須與public接口的名稱相同橱野。

? ? 接口的定義規(guī)則如下:

? ? ? ? - 修飾符可以是private或者省略朽缴,如果省略了public訪問控制符,則默認(rèn)使用包權(quán)限訪問控制符水援。

? ? ? ? - 接口名的命名規(guī)則和類相同密强,接口名通常能夠使用形容詞。

? ? ? ? - 一個接口可以有多個父接口蜗元,但接口只能繼承接口或渤,不能繼承類。

? ? 接口成員的定義規(guī)則如下:

? ? ? ? - 接口里的成員變量只能是靜態(tài)常量奕扣,接口里的方法只能是抽象方法薪鹦、類方法、默認(rèn)方法惯豆。

? ? ? ? - 接口的成員可以省略訪問控制修飾符池磁,默認(rèn)為public。如果指定訪問控制修飾符楷兽,則只能使用public訪問控制修飾符地熄。

? ? ? ? - 系統(tǒng)默認(rèn)用 public static final 修飾成員變量,成員變量只能在定義時指定默認(rèn)值芯杀。

? ? ? ? - 系統(tǒng)默認(rèn)用public abstract修飾普通方法端考,且普通方法不能有方法體雅潭。而類方法、默認(rèn)方法必須有方法體却特。實(shí)現(xiàn)接口方法時必須使用public訪問控制修飾符扶供。

? ? ? ? - 系統(tǒng)默認(rèn)用public static修飾內(nèi)部類、內(nèi)部接口核偿、內(nèi)部枚舉诚欠。

????????- 默認(rèn)方法必須使用default修飾,不能使用static修飾漾岳。因此默認(rèn)方法只能由接口的實(shí)現(xiàn)類實(shí)例來調(diào)用。

? ? ? ? - 接口中的類方法必須使用static修飾粉寞,不能使用default修飾尼荆。類方法直接使用接口來調(diào)用。

3.3 接口與抽象類比較

? ? 相同點(diǎn):

????????- 接口和抽象類都不能被實(shí)例化唧垦。它們位于繼承樹的頂端捅儒,用于被其他類實(shí)現(xiàn)和繼承。

? ? ? ? - 接口和抽象類都可以包含抽象方法振亮,實(shí)現(xiàn)接口和繼承抽象類的普通子類都必須實(shí)現(xiàn)這些抽象方法巧还。

? ? 不同點(diǎn):

? ? ? ? - 接口里只能包含抽象方法、靜態(tài)方法和默認(rèn)方法坊秸,不能為普通方法提供方法實(shí)現(xiàn)麸祷;抽象類則完全可以包含普通方法。

? ? ? ? - 接口里只能定義靜態(tài)常量褒搔,不能定義普通成員變量阶牍;抽象類里即可以定義普通成員變量,也可以定義靜態(tài)常量星瘾。

? ? ? ? - 接口里不包含構(gòu)造器走孽;抽象類里可以包含構(gòu)造器,用于子類創(chuàng)建實(shí)例時初始化抽象類琳状。

? ? ? ? - 接口里不能包含初始化塊磕瓷;抽象類可以包含初始化塊。

? ? ? ? - 一個類最多只能有一個直接父類念逞,包括抽象類困食;一個類可以直接實(shí)現(xiàn)多個接口。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肮柜,一起剝皮案震驚了整個濱河市陷舅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌审洞,老刑警劉巖莱睁,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件待讳,死亡現(xiàn)場離奇詭異,居然都是意外死亡仰剿,警方通過查閱死者的電腦和手機(jī)创淡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來南吮,“玉大人琳彩,你說我怎么就攤上這事〔看眨” “怎么了露乏?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涂邀。 經(jīng)常有香客問我瘟仿,道長,這世上最難降的妖魔是什么比勉? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任劳较,我火速辦了婚禮,結(jié)果婚禮上浩聋,老公的妹妹穿的比我還像新娘观蜗。我一直安慰自己,他們只是感情好衣洁,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布墓捻。 她就那樣靜靜地躺著,像睡著了一般闸与。 火紅的嫁衣襯著肌膚如雪毙替。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天践樱,我揣著相機(jī)與錄音厂画,去河邊找鬼。 笑死拷邢,一個胖子當(dāng)著我的面吹牛袱院,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瞭稼,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼忽洛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了环肘?” 一聲冷哼從身側(cè)響起欲虚,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悔雹,沒想到半個月后复哆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體欣喧,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年梯找,在試婚紗的時候發(fā)現(xiàn)自己被綠了唆阿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡锈锤,死狀恐怖驯鳖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情久免,我是刑警寧澤浅辙,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站阎姥,受9級特大地震影響摔握,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜丁寄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泊愧。 院中可真熱鬧伊磺,春花似錦、人聲如沸删咱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痰滋。三九已至摘能,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敲街,已是汗流浹背团搞。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留多艇,地道東北人逻恐。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像峻黍,于是被迫代替她去往敵國和親复隆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 一、抽象類 1骨饿、抽象類含義的概括: 當(dāng)多個類出現(xiàn)相同功能時亏栈,但功能主體不同台腥,這樣可以向上抽取,抽取時只抽取功能定義...
    玉圣閱讀 828評論 0 6
  • 你很清楚的知道什么時候用抽象類仑扑,什么時候用接口么览爵?p.s. 多文字預(yù)警! 1 抽象類和接口簡介 1.1 抽象類 ...
    Sharember閱讀 2,349評論 9 55
  • 一镇饮、抽象類: 抽象類是特殊的類蜓竹,只是不能被實(shí)例化;除此以外储藐,具有類的其他特性俱济;重要的是抽象類可以包括抽象方法,這是...
    FrozenSunset閱讀 501評論 0 3
  • 下來過紅綠燈時钙勃,小寶很自然的拉著我的衣服蛛碌,我說今天由哥哥拉你過馬路,哥哥的小手馬上拉著妹妹辖源,安全的過馬路成功蔚携! 跟...
    童貝媽閱讀 181評論 0 0
  • 我是一個來自異鄉(xiāng)的女孩,性格開朗克饶,喜歡交談酝蜒。從小到大,一直沒有離開過父母矾湃,我是一個被寵愛慣壞了的小孩亡脑,所以我特...
    _Baby格兒閱讀 353評論 0 0