java從入門到入土(十)

今天到了第十節的學習,跟好阿豬的步伐哎

往期精選
java從入門到入土(一)
java從入門到入土(二)
java從入門到入土(三)
java從入門到入土(四)
java從入門到入土(五)
java從入門到入土(六)
java從入門到入土(七)
java從入門到入土(八)
java從入門到入土(九)

一、繼承的概述

面向對象的三大特徵:繼承、封裝、多態
繼承是多態的前提,沒有繼承就沒有多態
繼承主要解決的問題:共性抽取
繼承關係當中的特點java從入門到入土
1.子類可以擁有父類的內容
2.子類還可以擁有自己專有的內容

在這裏插入圖片描述

二、繼承的格式

在繼承關係中“子類就是一個父類”,也就是說,子類可以被當做父類看待
例如父類是員工,子類就是講師,那麼:“講師就是一個員工”

定義父類:
public class 父類名{
//…
}
定義子類:
public class 子類名稱 extends 父類名稱{
//…
}
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

三、繼承中成員變量的訪問特點

直接通過子類對象訪問成員變量
等號左邊是誰,就優先用誰,沒有則向上找
間接通過成員方法訪問成員變量
該方法屬於誰,就優先用誰,沒有則向上找在這裏插入圖片描述

四、區分子類方法中重名的三種變量

局部變量: 直接寫成員變量名
本類的成員變量 :this.成員變量名
父類成員變量名: super.成員變量名在這裏插入圖片描述

五、繼承中成員方法的訪問特點

在父類方法的繼承關係中,創建子類對象,訪問成員方法的規則:
創建的對象是誰,就優先用誰,如果沒有則向上找
注意事項:
無論是成員方法還是成員變量,如果沒有都是向上找父類,絕對不會向下找子類的

在這裏插入圖片描述

六、繼承中方法覆蓋重寫的概念與特點

重寫(Override)
概念:在繼承關係中,方法名稱一樣,參數列表也一樣
重寫(Override),方法的名稱一樣,參數列表也一樣,覆蓋,覆寫
重載(Overload),方法的名稱一樣,參數列表不一樣,

方法的覆蓋重寫特點,創建的是子類對象,則優先用子類方法

七、繼承中方法覆蓋重寫的注意事項

1.必須保證父子類之間的方法名稱相同,參數列表也相同
@Override:寫在方法前面,用來檢測是不是有效的正確覆蓋重寫。
這個註解就算不寫,只要滿足要求,也是正確的方法覆蓋重寫。
2.子類方法的返回值必須【小於等於】父類方法的返回值範圍。
小擴展提示:java.Lang.object類是所有類的公共最高父類(祖宗類) , java.Lang.String就是object的子類。
3.子類方法的權限必須【大於等於】父類方法的權限修飾符。
小擴展提示:pubL if>protected>(default) >private
備註:(default) 不是關鍵字default, 而是什麼都不寫, 留空。

八、繼承中覆蓋 重寫的應用場景

在已投入使用的類,儘量不要進行修改,推薦定義一個新的類,來重複利用其中共性內容,並且添加改動新內容

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

九、繼承中構造方法的訪問特點

繼承關係中,父類構造方法的
1.子類構造方法當中有一個默認隱含的“super() ”調用, 所以一定是先調用的父類構造, 後執行的子類構造。
2.子類構造可以通過super關鍵字來調用父類重載構造。
3.super的父類構造調用, 必須是子類構造方法的第一個語句。不能一個子類構造調用多次super構造。
總結:
子類必須調用父類構造方法, 不寫則贈送super() ; 寫了則用寫的指定的super調用。
在這裏插入圖片描述

十、super關鍵字三種用法

super關鍵字的用法有三種:
1.在子類的成員方法中,訪問父類的成員變量。
2.在子類的成員方法中,訪問父類的成員方法。
3.在子類的構造方法中,訪問父類的構造方法。

在這裏插入圖片描述

十一、this關鍵字三種用法

而this關鍵字用來訪問本類內容。用法也有三種:
1.在本類的成員方法中,訪問本類的成員變量。
2.在本類的成員方法中,訪問本類的另一個成員方法。
3.在本類的構造方法中,訪問本類的另一個構造方法。
在第三種用法當中要注意:
4.this(…) 調用也必須是構造方法的第一個語句, 唯一個。
B.super和this兩種構造調用, 不能同時使用。

在這裏插入圖片描述

十二、super與this關鍵字圖解

在這裏插入圖片描述

十三、java繼承三個特點

在這裏插入圖片描述

十四、抽象的概念

在這裏插入圖片描述

十五、抽象方法與抽象類的格式

在這裏插入圖片描述

十六、抽象方法與抽象類的注意事項

關於抽象類的使用,以下爲語法上要注意的細節,雖然條目較多,但若理解了抽象的本質,無需死記硬背。
1.抽象類不能創建對象,如果創建,編譯無法通過而報錯。只能創建其非抽象子類的對象。
理解:假設創建了抽象類的對象,調用抽象的方法,而抽象方法沒有具體的方法體,沒有意義。
2.抽象類中,可以有構造方法,是供子類創建對象時,初始化父類成員使用的。
理解:子類的構造方法中, 有默認的super() , 需要訪問父類構造方法。
3.抽象類中,不一定包含抽象方法,I但是有抽象方法的類必定是抽象類。
理解:未包含抽象方法的抽象類,目的就是不想讓調用者創建該類對象,通常用於某些特殊的類結構設計。
4.抽象類的子類,必須重寫抽象父類中所有的抽象方法,否則,編譯無法通過而報錯。除非該子類也是抽象類。理解:假設不重寫所有抽象方法,則類中可能包含抽象方法。那麼創建對象後,調用抽象的方法,沒有意義。

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

有錯誤指出來謝謝

喜歡點贊謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章