java多型自理解

2021-09-10 05:05:46 字數 678 閱讀 8883

設employee(雇員)是超類 anager(經理)的子類

一.   可以將乙個子類物件賦給超類變數

employee staff=new employee();

manager boss= new manager();

staff=boss;              (boss是子類) 注意賦值是右傳左

二.  然而不能將超類的引用賦值給子類變數

employee staff=new employee();

比如  manager  boss1=staff;

所有經理都是雇員,但雇員並不都是經理。

例子:employee staff=new manager();

staff將直接呼叫父類的方法,當然如果子類重寫了父類的方法,那麼呼叫的就是子類的方法!

這條語句的好處是有多個子類時,不用每個子類去寫乙個相同方法,直接父類中寫乙個就行了。

壞處就是staff不能呼叫子類中有而父類中沒有的方法(即子類特有的方法)

那麼應該怎麼辦呢?

manager m=null;            // 必須有此過程,即必須要重新建立乙個物件!!!!*

if( staff instanceof    manager)

{m = (manager) staff;

用這個m物件去呼叫子類特有的方法!!!

JAVA多型理解

什麼是多型 物件導向三大特性 封裝,繼承,多型。從一定角度來看,封裝和繼承幾乎都是為多型準備的 多型的定義 不同類物件對同一訊息做出響應 實現多型的技術稱為 動態繫結,是指在執行期間判斷所引用物件的實際型別,根據其型別呼叫相應方法 多型的作用 消除型別之間的耦合關係 同一事件在不同物件上產生不同結果...

Java 多型的理解

物件導向程式設計有三個特徵,即封裝 繼承和多型。封裝隱藏了類的內部實現機制,從而可以在不影響使用者的前提下改變類的內部結構,同時保護了資料。繼承是為了重用父類 同時為實現多型性作準備。那麼什麼是多型呢?要理解多型性,首先要知道什麼是 向上轉型 我定義了乙個子類cat,它繼承了animal類,那麼後者...

Java多型的理解

要想清楚的理解什麼是多型,就必須要了解 向上轉型 這個概念。下面我們通過乙個例子來介紹向上轉型。public class person protected void sleep public void play public class student extends person public c...