1. 程式人生 > 程式設計 >java多型機制原理特點詳解

java多型機制原理特點詳解

java多型機制是什麼

java中實現多型的機制是依靠父類或介面的引用指向子類。從而實現了一個物件多種形態的特性。其中父類的引用是在程式執行時動態的指向具體的例項,呼叫該引用的方法時,不是根據引用變數的型別中定義的方法來執行,而是根據具體的例項的方法。

概念

多型就是指一個引用變數倒底會指向哪個類的例項物件,該引用變數發出的方法呼叫到底是哪個類中實現的方法,必須在由程式執行期間才能決定。

因為在程式執行時才確定具體的類,這樣,不用修改源程式程式碼,就可以讓引用變數繫結到各種不同的類實現上,從而導致該引用呼叫的具體方法隨之改變,即不修改程式程式碼就可以改變程式執行時所繫結的具體程式碼,讓程式可以選擇多個執行狀態,這就是多型性。

特點:

指向子類的父類引用由於向上轉型了,它只能訪問父類中擁有的方法和屬性,而對於子類中存在而父類中不存在的方法,該引用是不能使用的,儘管是過載該方法。

若子類重寫了父類中的某些方法,在呼叫該些方法的時候,必定是使用子類中定義的這些方法(動態連線、動態呼叫)。

知識點擴充套件

多型的實現原理

Java 裡物件方法的呼叫是依靠類資訊裡的方法表實現的。

總體而言,當呼叫物件某個方法時,JVM查詢該物件類的方法表以確定該方法的直接引用地址,有了地址後才真正呼叫該方法。

超類繼承父類的方法,如果不Overriding該方法,那麼呼叫時會指向父類的方法。如果Overrding該方法,那麼指向該類的程式碼區。

但是超類會存有父類的方法表。

以上就是本次介紹的全部相關知識點,感謝大家的學習和對我們的支援。