Java的繼承
1.繼承
a.繼承是面向?qū)ο蟮娜筇卣髦?繼承指的是一個(gè)類從另一個(gè)類從獲得屬性和方法的過程,它們的關(guān)系可以看做是父子的關(guān)系
,一個(gè)父類,一個(gè)子類。
b.語法:
修飾符 Subclass extends SuperClass {
//類定義部分
}
注:
繼承(nheritance) 通過extends 關(guān)鍵字來實(shí)現(xiàn),其中的SubClass 稱為子類,S uperClass 稱為父類
基類或超類。修飾符如果是public,則該類在整個(gè)項(xiàng)目中可見: 若無public修飾符,則該類只在當(dāng)前
包可見,不可以使用private和protected 修飾類。
2.訪問修飾符權(quán)限(如圖)
基類或超類。修飾符如果是public,則該類在整個(gè)項(xiàng)目中可見: 若無public修飾符,則該類只在當(dāng)前
包可見,不可以使用private和protected 修飾類。
2.訪問修飾符權(quán)限(如圖)

3.子類重寫子類方法
在Java中,實(shí)現(xiàn)多態(tài)的條件是非常簡(jiǎn)單的。
父類(普通類)
方法(普通方法)
子類 extends 父類
方法(普通方法 ----->和父類某個(gè)方法同名)
父類(普通類)
方法(普通方法)
子類 extends 父類
方法(普通方法 ----->和父類某個(gè)方法同名)
注意事項(xiàng)
a.重寫方法和被重寫方法必須具有相同的方法名。
b.重寫方法和被重寫方法必須具有相同的參數(shù)列表。
c.重寫方法的返回值類型必須和被重寫方法的返回值類型相同或是其子類。
d.重寫方法不能縮小被重寫方法的訪問權(quán)限。
b.重寫方法和被重寫方法必須具有相同的參數(shù)列表。
c.重寫方法的返回值類型必須和被重寫方法的返回值類型相同或是其子類。
d.重寫方法不能縮小被重寫方法的訪問權(quán)限。
抽象類和抽象方法的注意事項(xiàng)
1.抽象類中可以有抽象方法,也可以有非抽象方法
2.抽象方法中沒有方法體,直接以分號(hào)結(jié)束
3.抽象方法必須在子類中重寫,除非子類本身也是一個(gè)抽象類
4.如果用Abstract修飾,那么該類就是抽象類
5.抽象類不能被實(shí)例化
6.抽象類不能是靜態(tài)類
7.抽象類可以有構(gòu)造
8.抽象方法只能出現(xiàn)在抽象類中
9.抽象方法只是用來約束子類方法行為的
final修飾符
a.final修飾屬性:不能再次賦值
b.final修飾方法: 方法不能被重寫
c.final修飾類,類不能被繼承
b.final修飾方法: 方法不能被重寫
c.final修飾類,類不能被繼承
繼承關(guān)系下子類構(gòu)造的執(zhí)行過程
1.從Main---->子類構(gòu)造不進(jìn)入方法體
2.從子類構(gòu)造------>父類構(gòu)造
3.執(zhí)行父類構(gòu)造 ,創(chuàng)建了父類對(duì)象
4.回到子類構(gòu)造,執(zhí)行構(gòu)造體
5.再回到Main。創(chuàng)建出對(duì)象