天天看點

java三大特性 繼承_Java三大特性之繼承

繼承的概念:

繼承是java面向對象程式設計技術的一塊基石,因為它允許建立分等級層次的類。

繼承就是子類繼承父類的特征和行為,使得子類對象(執行個體)具有父類的執行個體域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。

生活中的繼承:

兔子和羊屬于食草動物類,獅子和豹屬于食肉動物類。

食草動物和食肉動物又是屬于動物類。

是以繼承需要符合的關系是:is-a,父類更通用,子類更具體。

雖然食草動物和食肉動物都是屬于動物,但是兩者的屬性和行為上有差别,是以子類會具有父類的一般特性也會具有自身的特性。

類的繼承格式:

在 Java 中通過 extends 關鍵字可以申明一個類是從另外一個類繼承而來的,一般形式如下:

為什麼需要繼承:

接下來我們通過一個執行個體來說明這個需求

開發動物類,其中動物名稱分别為企鵝和老鼠,要求如下:企鵝:屬性(id,姓名),方法(吃,睡,自我介紹)

老鼠:屬性(id,姓名),方法(吃,睡,自我介紹)

從這兩段代碼可以看出,代碼存在重複了,導緻後果就是代碼量大且臃腫,而且維護性不高。是以要從根本上解決這兩段代碼的問題,就需要繼承,将兩段代碼中相同的部分提取出來組成一個類。

這個Animal 類就可以作為一個父類,然後企鵝和老鼠類繼承這個類後,就具有了父類當中的屬性和方法,子類就不會存在重複的代碼,維護性也提高了,代碼也更加整潔,提高了代碼的複用性,繼承之後的代碼:

企鵝類

老鼠類

繼承類型

需要注意的是 Java 不支援多繼承,但支援多重繼承。

繼承的特性:

子類擁有父類非private 的屬性和方法

子類可以擁有自己的屬性和方法,即子類可以對父類進行擴充

子類可以用自己的方式實作父類的方法

Java的繼承是單繼承,但是可以多重繼承,單繼承就是一個子類隻能繼承一個父類,多重繼承就是,例如A類繼承B類,B類繼承C類,是以按照關系就是C類是B類的父類,B類是A類的父類。

提高了類之間的耦合性(繼承的缺點,耦合度高會造成代碼之間的聯系越緊密,代碼獨立性越差)