『壹』 java 中實現多態的機制是什麼
多態就是指一個引用變數倒底會指向哪個類的實例對象,該引用變數發出的方法調用到底是哪個類中實現的方法,必須在由程序運行期間才能決定。
因為在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變數綁定到各種不同的類實現上,從而導致該引用調用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態,這就是多態性。
(1)java介面的多態擴展閱讀:
特點:
指向子類的父類引用由於向上轉型了,它只能訪問父類中擁有的方法和屬性,而對於子類中存在而父類中不存在的方法,該引用是不能使用的,盡管是重載該方法。
若子類重寫了父類中的某些方法,在調用該些方法的時候,必定是使用子類中定義的這些方法(動態連接、動態調用)。
『貳』 簡述java類中多態性的體現形式
多態可分為:
1.編譯多態:主要是體現在重載,系統在編譯時就能確定調用重載函數的哪個版本。
2.運行多態:主要體現在OO設計的繼承性上,子類的對象也是父類的對象,即上溯造型,所以子類對象可以作為父類對象使用,父類的對象變數可以指向子類對象。因此通過一個父類發出的方法調用可能執行的是方法在父類中的實現,也可能是某個子類中的實現,它是由運行時刻具體的對象類型決定的。
『叄』 Java中的多態到底有什麼實際開發作用
JAVA語言特徵之一多態機制,故名思議就是多種變化形態。
在實際的開發當中一般都應用在兩個方面,其一:神段方法的多態---重載(overload)和重寫(override),其二:對象的多態,對象的向上轉型,對象的向下轉型。
方法的重載:發生在同一個類當中,方法名稱相同,參數列表不同。
經常看到的就是某一個類的構造方法,例如:String類
當然也可以是其他普通方法。
方法的重寫:發生在有繼承關系的類中(說白了就是子類中),方法名稱和參數列表一模一樣。
例如: Object類當中的equals()方法、toString()方法等。
對象的多態:
向上轉型: 父類類型 父類對象名稱 = new 子類類型();
向下轉型:子類類型 子類對象名稱 = (子類類型)父類對象名稱;
注意: 先由向上轉型再有向下轉型,如果直接寫向下轉型則會出現ClassCastException(類型轉換異常)
應用:1.為介面/抽象類實例化對象
例如: List<String> list = new ArrayList<String>();
2.在方法當中的參數----如果是父類類型,則可以傳入子類對象
謹腔 例如: public void show(Object obj) {}
6.當然,在高級框架中也是存在多游晌譽態的內容,但是只要知道怎麼用即可。