首頁 >Java >java教程 >java多態是如何實現的

java多態是如何實現的

(*-*)浩
(*-*)浩原創
2019-12-03 14:12:484188瀏覽

在物件導向程式設計(Object-Oriented Programming, OOP)中,多型機制無疑是其最具特色的功能,甚至可以說,不運用多態的程式設計不能稱之為OOP。

java多態是如何實現的

本質上多態分兩種:

編譯時多態(又稱靜態多態),執行時期多型(又稱動態多型)             (建議學習:java課程

重載(overload)是編譯時多態的例子,編譯時多態在編譯時就已經確定,運行時運行的時候呼叫的是確定的方法。

我們通常所說的多態指的都是運行時多態,也就是編譯時不確定究竟呼叫哪個具體方法,一直延遲到執行時才能確定。這也是為什麼有時候多型方法又被稱為延遲方法的原因。

以下簡單介紹一下運行時多態(以下簡稱多型)的機制。

多態通常有兩種實作方法:

子類別繼承父類別(extends)

類別實作介面(implements)

無論是哪一種方法,其核心之處就在於對父類別方法的改寫或對介面方法的實現,以獲得在執行時不同的執行效果。

要使用多態,在宣告物件時就應該遵循一條法則:宣告的總是父類別類型或介面類型,建立的是實際類型。舉例來說,假設我們要建立一個ArrayList對象,宣告就應該採用這樣的語句:

List list=newArrayList();

而不是

ArrayList list=newArrayList();

在定義方法參數時也通常總是應該優先使用父類類型或介面類型,例如某方法應該寫成:

publicvoid doSomething(List list);

而不是

publicvoid doSomething(ArrayList list);

這樣宣告最大的好處在於結構的靈活性:假如某一天我認為ArrayList的特性無法滿足我的要求,我希望能夠用LinkedList來取代它,那麼只需要在物件建立的地方把new ArrayList()改為new LinkedList即可,它程式碼一概不用改動。

以上是java多態是如何實現的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn