多態是同一個行爲具有多個不同表現形式或形態的能力。
多態就是同一個接口,使用不同的實例而執行不同操作,如圖所示:
多態性是對象多種表現形式的體現。
現實中,比如我們按下 F1 鍵這個動作:
如果當前在 Flash 界面下彈出的就是 AS 3 的幫助文檔;
如果當前在 Word 下彈出的就是 Word 幫助;
在 Windows 下彈出的就是 Windows 幫助和支持。
同一個事件發生在不同的對象上會產生不同的結果。
多態的優點
消除類型之間的耦合關係
可替換性
可擴充性
接口性
靈活性
簡化性
繼承
重寫
父類引用指向子類對象
比如:
Parent p = new Child();
當使用多態方式調用方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤;如果有,再去調用子類的同名方法。
多態的好處:可以使程序有良好的擴展,並可以對所有類的對象進行通用處理。
可以被覆寫的方法都可以稱作虛方法,因此虛方法並不需要做特殊的聲明,也可以理解爲除了用static、final、private修飾之外的所有方法都是虛方法。
重寫
接口
抽象類和抽象方法