多態是同一個行為具有多個不同表現形式或形態的能力。多態就是同一個接口,使用不同的實例而執行不同操作。
多態性是對象多種表現形式的體現,比如:
在現實中,我們按下F1鍵這個動作:
如果當前在Flash界面下彈出的就是AS 3的幫助文檔
如果當前在Word下彈出的就是Word幫助
在Windows下彈出的就是Windows幫助和支持
多態存在的三個必要條件
繼承
重寫
父類引用指向子類對象
Parent p = new Child();
當使用多態方式調用方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤;如果有,再去調用子類的同名方法。
例題
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 SonBB. Son SonBC. Base Son SonBD.編譯不通過解釋:Base base=new Son(); 是多態的表示形式。父類對象調用了子類創建了Son對象。base調用的method()方法就是調用了子類重寫的method()方法。而此時base還是屬于Base對象,base調用methodB()時Base對象里沒有這個方法,所以編譯不通過。要想調用的話需要先通過SON son=(SON)base;強制轉換,然后用son.methodB()調用。
總結
以上就是本文關于java 多態實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
新聞熱點
疑難解答
圖片精選