本文目錄一覽:
- 1、JAVA的多態有什麼特點?什麼地方適合使用多態?
- 2、java的多態怎麼理解啊,多態有什麼用途。
- 3、java中多態性什麼意思?
- 4、Java中的多態到底有什麼實際開發作用
- 5、在Java程序中,多態性帶給我們的好處是什麼?
JAVA的多態有什麼特點?什麼地方適合使用多態?
所謂多態就是指程序中定義的引用變數所指向的具體類型和通過該引用變數發出的方法調用在編程時並不確定,而是在程序運行期間才確定,即一個引用變數會指向哪個類的實例對象,該引用變數發出的方法調用到底是哪個類中實現的方法,必須在由程序運行期間才能決定。因為在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變數綁定到各種不同的類實現上,從而導致該引用調用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態,這就是多態性。
java的多態怎麼理解啊,多態有什麼用途。
多態有編譯時多態 和運行時多態。
第一個是通過方法重載實現;第二個是通過方法覆蓋實現(子類覆蓋父類方法)。
第一種就是我們調用方法是不用區分參數類型,程序會自動執行相應方法,如: 加法運算,可以使int相加,可以是double相加,都是同一個方法名。
第二種就是動態綁定,使用父類引用指向子類對象,再調用某一父類中的方法時,不同子類會表現出不同結果。 這樣的作用就是擴展性極好,玩過網遊的話應該知道 遊戲中有不同的角色,它們都有一個父類,它們做相同動作時表現出來的效果就會不一樣,比如跑,魔法師的跑跟戰士的跑就不會一樣,這就是倆者都覆蓋了父類中的跑方法,各自有自己的現實,表現出來多態。 如果有一天你想再加個角色,只用再寫一個類繼承該父類,覆蓋其中的跑方法就行了,其他代碼不用怎麼改,所以可維護性也很好。
這一個小的程序 或許你體會不到多態的強度作用。其實說到多態就是 面向介面編程,它不和具體類盡心掛鉤了
比如 你沒用多態的話 ,
你沒實例化一個對象 就要new一下,那假如你那天改變了需求了呢?那是不是又要改裡面的?這樣不好,所以 你可以通過多態,把需要相似的給提出來,然後繼承它 這樣 以後需要擴展你僅僅只是繼承而已。這樣就很簡單。
這個需要多看代碼 才可以更深刻理解。
有問題在討論。
java中多態性什麼意思?
多態性:顧名思義就是擁有「多種形態」的含義,是指屬性或方法在子類中表現為多種形態。
在JAVA中有兩種多態是指:運行時多態和編譯時多態。多態性是面向對象的核心特徵之一,類的多態性提供類中成員設計的靈活性和方法執行的多樣性。
多態指允許不同類的對象對同一消息做出響應。即同一消息可以根據發送對象的不同而採用多種不同的行為方式。(發送消息就是函數調用)
實現多態的技術稱為:動態綁定(dynamic binding),是指在執行期間判斷所引用對象的實際類型,根據其實際的類型調用其相應的方法。
擴展資料:
多態的好處:
1、可替換性(substitutability)多態對已存在代碼具有可替換性。例如,多態對圓Circle類工作,對其他任何圓形幾何體,如圓環,也同樣工作。
2、可擴充性(extensibility)多態對代碼具有可擴充性。增加新的子類不影響已存在類的多態性、繼承性,以及其他特性的運行和操作。實際上新加子類更容易獲得多態功能。
3、介面性(interface-ability)多態是超類通過方法簽名,向子類提供了一個共同介面,由子類來完善或者覆蓋它而實現的。
4、靈活性(flexibility)它在應用中體現了靈活多樣的操作,提高了使用效率。
5、簡化性(simplicity)多態簡化對應用軟體的代碼編寫和修改過程,尤其在處理大量對象的運算和操作時,這個特點尤為突出和重要。
參考資料:百度百科-多態
Java中的多態到底有什麼實際開發作用
JAVA語言特徵之一多態機制,故名思議就是多種變化形態。
在實際的開發當中一般都應用在兩個方面,其一:方法的多態—重載(overload)和重寫(override),其二:對象的多態,對象的向上轉型,對象的向下轉型。
方法的重載:發生在同一個類當中,方法名稱相同,參數列表不同。
經常看到的就是某一個類的構造方法,例如:String類
當然也可以是其他普通方法。
方法的重寫:發生在有繼承關係的類中(說白了就是子類中),方法名稱和參數列表一模一樣。
例如: Object類當中的equals()方法、toString()方法等。
對象的多態:
向上轉型: 父類類型 父類對象名稱 = new 子類類型();
向下轉型:子類類型 子類對象名稱 = (子類類型)父類對象名稱;
注意: 先由向上轉型再有向下轉型,如果直接寫向下轉型則會出現ClassCastException(類型轉換異常)
應用:1.為介面/抽象類實例化對象
例如: ListString list = new ArrayListString();
2.在方法當中的參數—-如果是父類類型,則可以傳入子類對象
例如: public void show(Object obj) {}
6.當然,在高級框架中也是存在多態的內容,但是只要知道怎麼用即可。
在Java程序中,多態性帶給我們的好處是什麼?
1.可替換性。多態對已存在的代碼具有可替換性。(不用修改當前代碼,只要提供新的方法就可以直接調用)
2.可擴充性。多態對代碼具有可擴充性。增加新的子類不影響已存在類的多態性、繼承性,以及其他特性的運行和操作。實際上新加子類更容易獲得多態功能。
3.介面性。多態是超類通過方法簽名,向子類提供了一個共同介面,由子類來完善或者覆蓋它而實現的。
4.靈活性。它在應用中體現了靈活多樣的操作,提高了使用效率。
5.簡化性。多態簡化了對應用軟體的代碼編寫和修改過程,尤其在處理大量對象的運算和操作時,這個特點尤為突出和重要。值得注意的是,多態並不能夠解決提高執行速度的問題,因為它基於動態裝載和地址引用,或稱動態綁定。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152503.html