傳送訊息給某個物件,讓該物件自行決定響應何種行為。
靜態多型:過載、重寫
動態多型:執行時確定函式的具體呼叫, 通過將子類物件賦值給父類變數來實現動態方法呼叫。
父類的引用可以指向子類的物件:向上轉型。// person p= new teacher();
「向上轉型」既可以使用子類強大的功能,又可以抽取父類的共性。
例:
person.display();將執行子類定義的方法
對於父類中定義的方法,如果子類中重寫了該方法,那麼父類型別的引用將會呼叫子類中的定義的這個方法,這就是動態鏈結。
父類中的乙個方法只有在父類中定義而在子類中沒有重寫的情況下,才可以被父類型別的引用呼叫。
對於子類中定義而父類中沒有的方法,無法呼叫。
java學習筆記之 多型
父類引用指向子類物件時,注意以下幾點 1 例項化乙個沒有名字的子類物件,然後向上轉型為父類的父類的引用,先去呼叫子類重寫的方法,子類沒有重寫就再去呼叫父類的方法。2 只能呼叫父類中定義過的方法和變數 父類中沒有定義過呼叫的時候要報錯 3 專屬於子類的成員變數,在子類方法中被訪問時,這時候通過父類引用...
JAVA學習筆記之多型
型別轉換分為自動型別轉換和強制型別轉換 1.自動型別轉換 向上型別轉換 父類 小型別 子類 大型別 不存在風險 animal animal new animal dog dog new dog animal dog 自動型別轉換,不存在風險2.強制型別轉換 向下型別轉換 子類 大型別 父類 小型別 ...
java學習筆記44 多型
允許不同類的物件對同一訊息做出響應。即同一訊息可以根據傳送物件的不同而採用多種不同的行為方式。1 乙個物件的實際型別是確定的 例如 new student new person 等 2 可以指向物件的引用的型別有很多 例如 student繼承了person類 student s1 new stude...