javaSE_day09_抽象類和接口

抽象類

? 場合

? ? 1.不適合 創(chuàng)建對象,都是用的 子類的對象;

? ? 2.為所有的 子類 提供了模板。

? 注意

? ? 1.抽象類 不能創(chuàng)建對象;

? ? 2.抽象類 中 可以包含 抽象方法 也可以不包含;

? ? 3.必須 子類繼承使用;

? ? 4.普通的 子類 實現(xiàn)抽象父類,必須 實現(xiàn)抽象父類中的所有抽象方法;(抽象子類除外);

? ? 5.構(gòu)造器不能是抽象的;

? ? 6.abstract 不能與 private ,static ,final一起聯(lián)用。

-----------------------------------------------------

interface? 接口{

? 常量? ;? public static final

? 抽象方法? public abstract

? default

? static

? 靜態(tài)內(nèi)部類型(靜態(tài)內(nèi)部 類 ,接口,枚舉)

}

接口中 的所有成員都是 public 的

注意

? 1.接口不能創(chuàng)建對象的;

? 2.用實現(xiàn)類 實現(xiàn)使用,普通的實現(xiàn)類 必須實現(xiàn)接口 中的所有抽象方法;(抽象實現(xiàn)類除外);

? 3.實現(xiàn)類 可以實現(xiàn)多個接口的功能;

? 4.接口之間 可以多繼承。

-------------------------------

多個接口中同名方法區(qū)分

? 1.靜態(tài)方法 用接口名區(qū)分;

? 2.默認(rèn)方法 ,實現(xiàn)類必須重寫,調(diào)用區(qū)分 接口名.super.默認(rèn)方法名();

? 3.抽象方法,同一重寫實現(xiàn)。

-------------------------------------------------------------

抽象類 和 接口 的異同:

相同

? 1.都不能創(chuàng)建對象;

? 2.都有 抽象方法;

? 3.都是用 子類 和 實現(xiàn)類 創(chuàng)建對象使用;

? 4.普通子類 和 實現(xiàn)類 要 實現(xiàn)抽象父類 和 接口中的所有抽象方法(抽象的除外)。

不同點

? 1.子類 只能繼承一個抽象父類;

? 2.實現(xiàn)類來說 ,實現(xiàn)多個 接口的功能;

? 3.接口 可以多繼承。

-------------------------------------------------------------

? ? ? ? 接口: 飛()

鴕鳥? 麻雀

------------------------------------------------------

多態(tài)

? 一種物質(zhì)多種形態(tài)。

多態(tài)特征

? 1.方法重寫;

? 2.父類引用 指向 子類對象;接口引用 指向 實現(xiàn)類

多態(tài)體現(xiàn)

? 屏蔽了子類的差異,子類獨特的功能屏蔽了 不能調(diào)用了。

------------------------------------------------------------------------------

類多態(tài)

接口多態(tài)

參數(shù)多態(tài)

類型轉(zhuǎn)換

? 1.向上類型轉(zhuǎn)換

? ? 子類 -》 父類類型

? 2.向下類型轉(zhuǎn)換

? ? 父類 -》 子類類型

? ? 強轉(zhuǎn)

? ? (子類類型)父類對象

------------------------------------------------------------

運算符instanceof:

?????? 運算 對象 屬于哪種 類 或 接口 類型,是 此 類或接口類型? true;不是? ? ? ? ? ? ? ? false

--------------------------------------

UML類圖:

一、泛化(繼承)

? 訪問修飾符:

? ? ? - private

? ? ? 默認(rèn) 不用

? ? ? # protected

? ? ? + public

二、實現(xiàn) (接口)

三、依賴

? 使用關(guān)系;

? 體現(xiàn):局部變量,參數(shù)

四、關(guān)聯(lián)

? ? 擁有的關(guān)系

? ? 三種:

? ? ? 1:1

? ? ? 1:n

? ? ? m:n?

? 體現(xiàn):成員變量

(1)聚集(聚合):強關(guān)聯(lián)

? 整體 和 局部的關(guān)系,局部離開了整體可以獨立存在。

? 2)組合 :強聚集

? 整體和局部的關(guā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)容

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