抽象類的定義與使用

【90%的正規(guī)代碼】在以后所有你進(jìn)行的項(xiàng)目開發(fā)過程之中,絕對(duì)不要出現(xiàn)一個(gè)類去繼承一個(gè)已經(jīng)實(shí)現(xiàn)好的類晾蜘,而只能夠繼承抽象類和接口镇眷。

對(duì)象多態(tài)性的核心本質(zhì)在于方法的覆寫上,那么如果說現(xiàn)在子類沒有去進(jìn)行指定方法的覆寫邮辽,這樣的操作就有些不合要求了。所以如果要對(duì)子類的方法進(jìn)行一些強(qiáng)制的要求就必須采用抽象類來解決贸营。

一. 抽象類基本概念

抽象類只是在普通類的基礎(chǔ)上擴(kuò)充了一些抽象方法而已吨述。所謂的抽象方法指的是只是聲明而未實(shí)現(xiàn)(沒有方法體)的方法,所有的抽象方法要求使用abstract關(guān)鍵字來進(jìn)行定義钞脂,并且抽象方法所在的類也一定要使用abstract定義類揣云,表示抽象類。?

現(xiàn)在可以發(fā)現(xiàn)抽象類就是比普通類多了一些抽象方法而已冰啃。

抽象類中包含抽象方法邓夕,而抽象方法與普通方法的最大區(qū)別在于其沒有方法體,即:不知道具體的實(shí)現(xiàn)阎毅,而如果現(xiàn)在產(chǎn)生了實(shí)例化對(duì)象焚刚,則意味著可以調(diào)用類中的所有操作。

對(duì)于抽象類的使用原則:

●所有的抽象類必須要有子類扇调;

●抽象類的子類(不是抽象類)必須覆寫抽象類中的全部抽象方法矿咕;

? ? ? ? |- 方法覆寫一定要考慮到權(quán)限問題:抽象方法可以使用任意權(quán)限,要求權(quán)限盡量都用public狼钮;

●抽象類的對(duì)象可以通過對(duì)象多態(tài)性碳柱,利用子類為其實(shí)例化。

二. 抽象類使用限制

1. 抽象類只是比普通類多了一些抽象方法的定義而已熬芜,所以在抽象類之中依然允許提供有構(gòu)造方法莲镣,并且子類也會(huì)遵守對(duì)象的實(shí)例化流程。實(shí)例化子類對(duì)象前一定要先去調(diào)用父類的構(gòu)造方法涎拉。

對(duì)象的實(shí)例化操作實(shí)際上需要以下幾個(gè)核心步驟:

①進(jìn)行類的加載瑞侮;

②進(jìn)行類對(duì)象空間的開辟的圆;

③進(jìn)行類對(duì)象中屬性的初始化(構(gòu)造方法)。

結(jié)論:如果構(gòu)造方法沒有執(zhí)行区岗,那么對(duì)象中的屬性一定都是其對(duì)應(yīng)數(shù)據(jù)類型的默認(rèn)值略板。

2. 抽象類中允許不定義任何的抽象方法毁枯,但是此時(shí)抽象類對(duì)象依然無法進(jìn)行實(shí)例化處理慈缔。

3. 抽象類一定不能夠使用final進(jìn)行聲明,因?yàn)槭褂胒inal定義的類不能夠有子類种玛,而抽象類必須有子類藐鹤。抽象方法不能夠使用private進(jìn)行定義,因?yàn)槌橄蠓椒ū仨毐桓矊憽?/p>

4. 抽象類也分為內(nèi)部抽象類和外部抽象類赂韵,內(nèi)部抽象類中可以使用static定義娱节,描述為外部抽象類。?

如果外部抽象類使用了static那么就是語法錯(cuò)誤祭示,可內(nèi)部抽象類允許使用static肄满。

三. 模板設(shè)計(jì)模式

抽象類的最大特點(diǎn)在于強(qiáng)制規(guī)定了子類的實(shí)現(xiàn)結(jié)構(gòu),除了這一特點(diǎn)之外质涛,抽象類更多的情況下還可以起到一個(gè)模板的作用稠歉。

抽象類在實(shí)際的使用過程之中會(huì)定義一些固化的模式。

但是每種指令的具體實(shí)現(xiàn)由子類負(fù)責(zé)完成汇陆,父類只做了方法的約定怒炸。

最具代表性的就是后面要學(xué)習(xí)的servlet。

注意:

1. 抽象類雖然定義了子類必須要做的事情毡代,但是抽象類依然會(huì)存在有單繼承局限阅羹。

2. 抽象類的使用必須要通過子類進(jìn)行對(duì)象實(shí)例化的處理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末教寂,一起剝皮案震驚了整個(gè)濱河市捏鱼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌酪耕,老刑警劉巖导梆,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異因妇,居然都是意外死亡问潭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門婚被,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狡忙,“玉大人,你說我怎么就攤上這事址芯≡肿拢” “怎么了窜觉?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)北专。 經(jīng)常有香客問我禀挫,道長(zhǎng),這世上最難降的妖魔是什么拓颓? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任语婴,我火速辦了婚禮,結(jié)果婚禮上驶睦,老公的妹妹穿的比我還像新娘砰左。我一直安慰自己,他們只是感情好场航,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布缠导。 她就那樣靜靜地躺著,像睡著了一般溉痢。 火紅的嫁衣襯著肌膚如雪僻造。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天孩饼,我揣著相機(jī)與錄音髓削,去河邊找鬼。 笑死捣辆,一個(gè)胖子當(dāng)著我的面吹牛蔬螟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播汽畴,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼旧巾,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了忍些?” 一聲冷哼從身側(cè)響起鲁猩,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎罢坝,沒想到半個(gè)月后廓握,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嘁酿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年隙券,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闹司。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡娱仔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出游桩,到底是詐尸還是另有隱情牲迫,我是刑警寧澤耐朴,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站盹憎,受9級(jí)特大地震影響筛峭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜陪每,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一影晓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奶稠,春花似錦俯艰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽画株。三九已至辆飘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谓传,已是汗流浹背蜈项。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留续挟,地道東北人紧卒。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像诗祸,于是被迫代替她去往敵國(guó)和親跑芳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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

  • 在以后所有開發(fā)過程中直颅,絕對(duì)不要出現(xiàn)一個(gè)類去繼承一個(gè)已經(jīng)實(shí)現(xiàn)好的類博个。而只能繼承我們的抽象類與接口。 來源:對(duì)象的核心...
    半心人6閱讀 711評(píng)論 0 0
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法功偿,類相關(guān)的語法盆佣,內(nèi)部類的語法,繼承相關(guān)的語法械荷,異常的語法共耍,線程的語...
    子非魚_t_閱讀 31,587評(píng)論 18 399
  • 一:java概述:1,JDK:Java Development Kit吨瞎,java的開發(fā)和運(yùn)行環(huán)境痹兜,java的開發(fā)工...
    ZaneInTheSun閱讀 2,629評(píng)論 0 11
  • 設(shè)計(jì)模式匯總 一、基礎(chǔ)知識(shí) 1. 設(shè)計(jì)模式概述 定義:設(shè)計(jì)模式(Design Pattern)是一套被反復(fù)使用关拒、多...
    MinoyJet閱讀 3,906評(píng)論 1 15
  • 人際關(guān)系的復(fù)雜和難處佃蚜,也讓人看清楚了一些現(xiàn)實(shí)庸娱,寧可退一步,也不直沖沖的向前沖谐算。 接下來的時(shí)間專心考證熟尉,不想雜事...
    年輕ABC1閱讀 141評(píng)論 0 0