1. 程式人生 > 其它 >java基礎之3-01繼承和多型 Person p = new Teacher();

java基礎之3-01繼承和多型 Person p = new Teacher();

技術標籤:java基礎第二部java

繼承和多型

java的三大特徵:封裝,繼承,多型
繼承:
Person–父類
Teacher–子類
Student–子類

在我們的主類中如何建立一個teacher物件呢?

第一種:Teacher t = new Teacher(…);
在這裡插入圖片描述
除了第一種方法,我們也可以這樣子去建立一個teacher物件

利用父類來宣告,利用子類來進行構造

在這裡插入圖片描述
為什麼呢?

因為在繼承中,子類繼承自父類,我們就可以說子類是父類 就比如:老師繼承自人,就可以說老師是人

多型:利用父類來宣告物件,利用子類來進行構造

在這裡插入圖片描述
這裡我們可以發現上面的物件 **“p”**既可以是teacher,也可以是student,有多種形態,這就是多型在繼承裡面的多種形式。

那麼就有一個地方需要注意!!!
那就是,當我們呼叫方法時,呼叫的是父類中的方法,還是子類中的方法呢?
答案:呼叫子類裡面的方法
在這裡插入圖片描述

!!!!!!!!!!!!!!!!!!!!!!!!!
那麼如果我們想要呼叫teacher裡面的方法呢?
在這裡插入圖片描述


總結:
宣告 物件  = new 構造();
 1. 當我們使用父類來進行宣告的時候,我們只能使用父類中存在的方法
 比如:person類有eat,sleep方法,那就只能呼叫這2個方法
 2. 呼叫哪個方法,主要是看後面是用什麼類進行構造的
 比如:呼叫p.eat方法就是呼叫teacher類中的eat方法,不是person類中的