面向?qū)ο螅篔ava的接口與抽象類(lèi)

一、抽象類(lèi)

1.定義和使用格式
抽象方法:一種特殊的方法吕嘀,只有聲明违寞,而沒(méi)有具體的實(shí)現(xiàn)贞瞒。
抽象類(lèi):在《JAVA編程思想》一書(shū)中,將抽象類(lèi)定義為“包含抽象方法的類(lèi)”趁曼,在類(lèi)前用abstract修飾军浆。

public abstract class ClassName {
    abstract void fun();
}

2.特性
(1) 抽象類(lèi)不允許被實(shí)例化,只能被繼承挡闰。
(2) 抽象類(lèi)可以包含屬性和方法乒融。方法既可以包含代碼實(shí)現(xiàn),也可以是不包含代碼實(shí)現(xiàn)的抽象方法尿这。
(3) 子類(lèi)繼承抽象類(lèi)簇抵,必須實(shí)現(xiàn)抽象類(lèi)中所有的抽象方法。如果子類(lèi)沒(méi)有實(shí)現(xiàn)父類(lèi)的抽象方法射众,那么它也要定義為abstract類(lèi)碟摆。

二、接口

1.定義和使用格式
接口:接口是對(duì)行為的一種抽象叨橱,相當(dāng)于一組協(xié)議或者契約典蜕;調(diào)用者只需要關(guān)注抽象的接口,不需要了解具體的實(shí)現(xiàn)罗洗。

public interface InterfaceName {
 
}

2.特性
(1) 接口可以有成員變量愉舔,但是成員變量只能是public static final類(lèi)型的。
(2) 接口只能聲明方法伙菜,方法不能包含代碼的實(shí)現(xiàn)轩缤。
(3) 類(lèi)實(shí)現(xiàn)接口的時(shí)候,必須實(shí)現(xiàn)接口中聲明的所有方法贩绕。

三火的、抽象類(lèi)和接口的區(qū)別

1. 語(yǔ)法層面
(1) 抽象類(lèi)中可以提供成員方法的實(shí)現(xiàn),而接口不行淑倾;
(2) 抽象類(lèi)的成員變量可以是各種類(lèi)型的馏鹤,但是接口中的成員變量只能是public static final類(lèi)型的;
(3) 抽象類(lèi)中可以含有靜態(tài)代碼塊和靜態(tài)方法娇哆,而接口不行湃累;
(4) 抽象類(lèi)可以含有構(gòu)造方法,而接口不行碍讨;
(5) 一個(gè)類(lèi)只能繼承一個(gè)抽象類(lèi)治力,而一個(gè)類(lèi)卻可以實(shí)現(xiàn)多個(gè)接口。

2. 設(shè)計(jì)角度
抽象類(lèi)是對(duì)成員變量和方法的抽象垄开,是一種 is-a 關(guān)系琴许,是為了解決代碼復(fù)用問(wèn)題。接口僅僅是對(duì)方法的抽象溉躲,是一種 has-a 關(guān)系榜田,表示具有某一組行為特性,是為了解決解耦問(wèn)題锻梳,隔離接口和具體的實(shí)現(xiàn)箭券,提高代碼的擴(kuò)展性。

四疑枯、其他

要“基于抽象而非實(shí)現(xiàn)編程”辩块,我們?cè)谧鲕浖_(kāi)發(fā)的時(shí)候,一定要有抽象意識(shí)荆永、封裝意識(shí)废亭、接口意識(shí)。越抽象具钥、越頂層豆村、越脫離具體某一實(shí)現(xiàn)的設(shè)計(jì),越能提高代碼的靈活性骂删、擴(kuò)展性掌动、可維護(hù)性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宁玫,一起剝皮案震驚了整個(gè)濱河市粗恢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌欧瘪,老刑警劉巖眷射,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異佛掖,居然都是意外死亡妖碉,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)苦囱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)嗅绸,“玉大人,你說(shuō)我怎么就攤上這事撕彤∮沭” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵羹铅,是天一觀的道長(zhǎng)蚀狰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)职员,這世上最難降的妖魔是什么麻蹋? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮焊切,結(jié)果婚禮上扮授,老公的妹妹穿的比我還像新娘芳室。我一直安慰自己,他們只是感情好刹勃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布堪侯。 她就那樣靜靜地躺著,像睡著了一般荔仁。 火紅的嫁衣襯著肌膚如雪伍宦。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,554評(píng)論 1 305
  • 那天乏梁,我揣著相機(jī)與錄音次洼,去河邊找鬼。 笑死遇骑,一個(gè)胖子當(dāng)著我的面吹牛卖毁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播质蕉,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼势篡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了模暗?” 一聲冷哼從身側(cè)響起禁悠,我...
    開(kāi)封第一講書(shū)人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兑宇,沒(méi)想到半個(gè)月后碍侦,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隶糕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年瓷产,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枚驻。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡濒旦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出再登,到底是詐尸還是另有隱情尔邓,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布锉矢,位于F島的核電站梯嗽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏沽损。R本人自食惡果不足惜灯节,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炎疆,春花似錦卡骂、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)躏救。三九已至唯笙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盒使,已是汗流浹背崩掘。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留少办,地道東北人苞慢。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像英妓,于是被迫代替她去往敵國(guó)和親挽放。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

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