多態(tài)是同一個行為具有多個不同表現(xiàn)形式或形態(tài)的能力。多態(tài)就是同一個接口,使用不同的實例而執(zhí)行不同操作。
創(chuàng)新互聯(lián)建站2013年至今,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都做網(wǎng)站、網(wǎng)站設計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元東鄉(xiāng)族做網(wǎng)站,已為上家服務,為東鄉(xiāng)族各地企業(yè)和個人服務,聯(lián)系電話:13518219792
多態(tài)性是對象多種表現(xiàn)形式的體現(xiàn),比如:
在現(xiàn)實中,我們按下F1鍵這個動作:
如果當前在Flash界面下彈出的就是AS 3的幫助文檔
如果當前在Word下彈出的就是Word幫助
在Windows下彈出的就是Windows幫助和支持
多態(tài)存在的三個必要條件
繼承
重寫
父類引用指向子類對象
Parent p = new Child();
當使用多態(tài)方式調用方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤;如果有,再去調用子類的同名方法。
例題
package Wangyi; class Base { public void method() { System.out.println("Base"); } } class Son extends Base { public void method() { System.out.println("Son"); } public void methodB() { System.out.println("SonB"); } } public class Test01 { public static void main(String[] args) { Base base = new Son(); base.method(); base.methodB(); } }
問這個程序的輸出結果。(D)
A. Base SonB B. Son SonB C. Base Son SonB D.編譯不通過 解釋: Base base=new Son(); 是多態(tài)的表示形式。父類對象調用了子類創(chuàng)建了Son對象。 base調用的method()方法就是調用了子類重寫的method()方法。 而此時base還是屬于Base對象,base調用methodB()時Base對象里沒有這個方法,所以編譯不通過。 要想調用的話需要先通過SON son=(SON)base;強制轉換,然后用son.methodB()調用。
總結
以上就是本文關于java 多態(tài)實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!