輸出結果為:
This is B
This is C
上例中類B和類別C是實作介面InterA的兩個類,分別實作了介面的方法fun(),透過將類B和類C的實例賦給介面引用a而實現了方法在執行時期的動態綁定,充分利用了“一個接口,多個方法”展示了Java的動態多態性。
需要注意的一點是:Java在利用介面變數來呼叫其實作類別的物件的方法時,該方法必須已經在介面中被聲明,而且在介面的實作類別中該實作方法的類型和參數必須與介面中所定義的精確匹配。
結論:以上就是java運行時多態性的實作方法,大家在程式設計過程中可以靈活運用,但是在效能要求較高的程式碼中不提倡運用運行時多態性,畢竟Java的執行時間動態方法調用較之普通的方法呼叫的系統開銷是比較大的。