抽象類和接口

抽象類(abstract)

  • 描述一個事物,卻沒有足夠的信息,這時就將這個事物稱為抽象事物

  • 特點:
    1、抽象方法一定定義在抽象類中,需要抽象關(guān)鍵字定義。
    2、抽象類不能實例化。不能用new關(guān)鍵字創(chuàng)建對象。
    3、只有子類覆蓋了所有的抽象方法后,子類具體化,子類就可以創(chuàng)建對象。
    如果沒有覆蓋所有的抽象方法,子類還是一個抽象類。

  • 抽象類是不斷的 向上抽取而得來的。抽取了方法的聲明而不確定具體的方法內(nèi)容,由不同的子類來完成具體的內(nèi)容

接口(interface)

  • 接口中常見的成員有兩種:1、全局常量 2、抽象方法;成員都是public修飾
  • 特點:
    1、接口不可以實例化。
    2、需要覆蓋了接口中的所有的抽象方法的子類,才可以實例化。
    否則該子類還是一個抽象類
    3、接口是用來被實現(xiàn)的(implements)

JAVA中通過接口來解決多繼承的問題(方法的主體不同),即implements(將多繼承轉(zhuǎn)化為多實現(xiàn))

避免了單繼承的局限。對一個子類進行擴展功能時,可以使用該類implements一個接口。
繼承是為了獲取體系的基本功能。想要擴展功能可以通過實現(xiàn)接口完成

接口與接口之間的關(guān)系為繼承關(guān)系,而且可以多繼承。

為了方便創(chuàng)建inter接口的子類對象,可以用一個類先把接口中的所有方法都空實現(xiàn)。該類創(chuàng)建對象沒有意義,所以可以將該類抽象。

  • 接口的思想
    1、接口出現(xiàn)擴展了功能
    2、接口其實就是暴露出來的規(guī)則
    3、接口的出現(xiàn)降低了耦合性。解耦

  • 抽象類與接口
    類用于描述事物共性的基本功能,用class定義父類,即抽象類
    接口用于定義的都是事物的額外功能
    區(qū)別:
    1、類與類之間 繼承關(guān)系。 is a
    類與接口之間 實現(xiàn)關(guān)系。like a
    2、抽象類中可以定義抽象和非抽象的方法,子類可以直接使用或者覆蓋使用
    接口中定義都是抽象方法,必須實現(xiàn)才能使用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Java中,有兩種實現(xiàn)OOP(Object Oriented Programming)編程的方法:抽象,接口。 f...
    Arya鑫閱讀 544評論 0 1
  • 先來看看抽象類和接口的定義: 抽象類(abstract class): 使用abstract修飾符修飾的類。官方點...
    IT廢柴閱讀 54,153評論 7 45
  • 一、抽象類 抽象:籠統(tǒng),模糊,看不懂!不具體 抽象類的由來:舉個栗子說明 抽象類:當一個類在描述事物時,沒有足夠的...
    咸魚有夢想呀閱讀 438評論 0 3
  • 深秋的早晨,溫度漸漸轉(zhuǎn)涼,來一份心儀的早晨,可好?喜歡素食,喜歡嘗試新作品的我們,一直在努力做到最好。玫瑰花饅頭,...
    阿蘭若素瀟雨閱讀 549評論 0 1
  • 陟彼南山,言眺燕遼。 薄霧蒙蒙,旭日朝朝。 喈喈乾鵲,銜枝為巢。 四野肅肅,落葉蕭蕭。 秋月墜矣,冰霜至矣。 登高...
    快樂的小沙彌閱讀 234評論 0 0

友情鏈接更多精彩內(nèi)容