前面咱們學習了類和對象的概念,學習了方法的重載,今天咱們將學習面向對象另外一個重要特性,繼承(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關鍵字。
構造方法中,設置父類私有域
在子類中給,父類的私有域賦值。
運行結果:
要注意的是Java和Python不一樣,不支持多繼承。一個Manager實例,確定是一個Employee,一個Employee不必定是Manager。