(四)Java入門 多型

2021-08-10 14:35:54 字數 745 閱讀 4769

乙個物件對應著不同的型別。比如,貓這類事物既具備著貓的形態,又具備著動物的形態。

父類或者介面的引用指向子類的物件。(一種物件兩種形態,子類和父類的形態)

多型存在為了什麼呢?簡單的例子,有乙個方法,就是動物吃飯的方法,多型的存在,就可以讓只要是動物,就可以呼叫,比如貓、狗等,就不需要單獨去製作貓吃飯的方法,所以,提高了**的擴充套件性。(比如後來有個豬,也可以直接去呼叫動物的吃飯方法,更新使用美滋滋)。

(1)有關係,繼承或實現(2)要有覆蓋

1、向上轉型

前期定義的內容不能呼叫後期子類的特有內容。(對於貓來說,相當於把貓型別提公升到動物型別(向上轉型),所以,只能使用動物所有的方法(吃),不能再去用貓的其他特有的方法。(抓老鼠),向上轉型限制功能。)轉型之後,只能使用子類和父類共有的方法,那就是父類的方法了。

2、向下轉型

向上轉型之後,如果想要實現子類的特有功能,可以實現向下轉型(把貓從動物類中轉型為原來的子類貓)。轉型之後,不僅能使用父類的方法,還能使用自己特有的方法。

3、本質

本質上在程式中只有乙個子類物件,子類向上轉型成父類,子類從父類向下轉型成子類。

1、多型中的成員變數

簡單說,都參考左邊的型別。(變數又沒有覆蓋,該是誰的就是誰的)。

2、多型中成員函式(非靜態)

簡單說,編譯看左邊引用變數,執行看右邊的物件。

3、多型中靜態函式

靜態函式相當於乙個類,不需要例項物件,可以直接呼叫,靜態方法就是固定繫結在所屬類中。

Stoker的Java入門教學之多型

多型 一種事物的多種形態 狀態 多型的前提 規則 1.必須類與類之間有關聯 繼承關係 2.必須要有方法的重寫 否則多型沒有意義 3.核心 父類的引用指向子類的空間,可以理解為父類的指標指向子類的物件。public class example class animal class catextends...

java程式設計思想筆記 多型部分四

1.在子類中的方法如果覆蓋了父類的方法,它的返回值可以是父類的返回方法的返回型別的子類。例如 package test class r class t extends r class father public class p164 extends father 2.向下轉型 父類的子類可以自由的進...

Java學習 java 多型

多型 一種事物的多種形態 多型的規則 前提 1.類與類之間要建立關係,建立繼承的關係 2.必須要有方法的重寫 3.父類的指標 引用 指向子類的物件 空間 public static void main string args class animal class cat extends animal...