Java基礎教程,第十講,繼承

前面咱們學習了類和對象的概念,學習了方法的重載,今天咱們將學習面向對象另外一個重要特性,繼承(inheritance)。利用繼承,咱們能夠基於一個已經存在的類狗仔一個新的類,繼承已經存在的類方法和域。而且咱們能夠添加一些新的方法和域。這是面向對象編程一個很是重要的特性。java

學完這次課程,我能作什麼?

學完這次課程,咱們將瞭解Java的繼承、子類、父類的概念,以及如何使用。編程

學習這次課程,須要多久?

5-10分鐘學習

課程內容

假設公司咱們新建了一個員工(Employee)類,而這個公司有一位經理,經理擁有員工的基本特性,而且會有一些額外的功能(方法)。每一名經理都是一名特殊的員工,這種關係就是明顯的繼承關係。3d

語法: extends 關鍵字對象

public class Manager extends Employee{ 添加方法和域 }blog

關鍵字 extends 代表正在構造的新類派生於一個已存在的類 。 已存在的類稱爲超類 ) 派生類( superclass ) 、 基類 ( base class ) 或父類 ( parent class ) ; 新類稱爲子類 ( subclass )派生類( derived class ) 或孩子類 ( child class ) 。繼承

看一下入門程序:get

首先定義一個父類 Employee 類it

而後新建一個經理類,繼承自Employee類。面向對象編程

實例化一個經理對象,而且調用父類的方法。

程序執行結果:

方法重寫

當父類的某個方法並不適用於子類時,咱們能夠在子類從新定義該方法,而且修改邏輯。這就是方法重寫或者覆蓋。

咱們新建一個Manager2,繼承自Employee類,重寫了父類的getName()方法。

執行結果:

若是子類覆蓋了父類的某個方法,可是在項目中咱們想調用父類的方法,能夠在子類使用super關鍵字。

經過super()方法,在子類構造器,調用超類構造器

構造方法中,設置父類私有域

在子類中給,父類的私有域賦值。

運行結果:

小結

要注意的是Java和Python不一樣,不支持多繼承。一個Manager實例,確定是一個Employee,一個Employee不必定是Manager。

關注公衆號,回覆 java基礎 下載所有代碼+PDF版電子書

相關文章
相關標籤/搜索