07JAVA基礎面向對象-繼承/多態

1、繼承

一、概念

子類的共性
重用現有類並在此基礎上進行擴展
public class 子類 extends 父類{}

二、繼承中的成員訪問

成員變量 成員方法
局部->本類中成員變量->父類中非私有成員變量 本類中方法->父類中非私有成員方法->object基類中非私有成員方法

三、方法重寫

(1)、爲何要重寫

父類的方法不能知足咱們的需求,咱們須要進行擴展。

(2)、怎麼進行重寫

子類中的方法名、方法權限、方法形參和父類同樣,此時就產生了重寫

(3)、重寫的注意點

(1)子類只能重寫父類的非私有方法。
(2)子類重寫的方法權限要大於等於父類,爲了不出錯,最好採用同樣
(3)權限類型:public>protected>默認>pravite
(4)@Override 註解:標記一個方法,表面該方法爲重寫父類

四、this和super

(1)、this

this表示的是對象的引用

三、super

表示父類的引用
super.name//父類的name
super();//父類構造函數,用於子類的構造函數第一步
super.buy();//父類的buy方法

五、繼承優缺點

優勢:隔離了用和作,在必定程度上增長了代碼的複用性(可是不建議用繼承來提升複用性,能夠用關聯或者依賴)
缺點:增長了程序的耦合性。

2、多態

調用父類的方法執行子類的方法。
父類的行爲在不一樣的子類上有不一樣的體現

一、多態前提

繼承
方法重寫
父類引用指向子類

二、成員訪問

成員變量 成員方法
編譯父類,執行子類,沒有報錯 編譯父類,執行子類,子類沒有執行父類,父類沒有報錯

三、優缺點

優勢:代碼複用性,擴展性
缺點:不能使用子類的特有成員

四、轉型

(1)、向上轉型,父類引用指向子類

(2)、向下轉型,父類類型轉變爲子類,強行轉換

相關文章
相關標籤/搜索