一、繼承的概念
我們之前說了面向對象的三大特征是封裝、繼承、多態,今天我們來看繼承的
概念。
所謂的繼承就是在原有的代碼結構上擴充新的功能,繼承解決的是代碼的重復的現象,本次課為了方便講解,后面的類中的屬性就暫時不使用private封裝。
DEMO:觀察問題
以上的兩個類的代碼存在什么問題?發現了類的屬性和方法都是重復的,要解決這樣的問題最好將這些重復的操作(方法和屬性)定義到一個公共的類中,之后如果其他類要使用到這些公共的操作只需要繼承這個公共的類即可,這個公共的類被叫做父類,有人叫做超類,又叫做基類,繼承的叫做子類或者派生類。一個父類可以被多個子類繼承(相當於一個父親可以有多個孩子)。
DEMO:定義父類
此時以上的兩個類都具備了父類的所有操作。
DEMO:調用子類的方法
繼承了父類的所有屬性和方法(但是不能繼承構造方法),這些公共的操作是繼.承過來的,但是如果子類需要有一些特有的操作,此時應該在子類中單獨定義。
DEMO:在子類中單獨定義特有的操作
總結:
1、繼承是為了解決代碼的重復,以及后面可以實現多態。
2、繼承的語法:
public class 子類 extends 父類{}
3、子類出了可以繼承父類的操作還可以擴充自己新的操作,而且子類不能繼承父類的構造方法
4、一個父類可以有多個子類,但是一個子類只能有一個父類(這就是繼承的局限性,叫做單繼承局限),后面可以使用接口的實現來解決單繼承的局限。
有完整的Java初級,高級對應的學習路線和資料!專注於java開發。分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分布式及面試資料、開源項目,助力開發者成長!
歡迎關注微信公眾號:碼邦主