多態是同一個行為具有多個不同表現形式或形態的能力。多態就是同一個接口,使用不同的實例而執行不同操作。
多態性是對像多種表現形式的體現,比如:
在現實中,我們按下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 多態實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!