Java 多態

Java 多態

多態是同一個行爲具有多個不同表現形式或形態的能力。

多態就是同一個接口,使用不同的實例而執行不同操作,如圖所示:
在這裏插入圖片描述
多態性是對象多種表現形式的體現。

現實中,比如我們按下 F1 鍵這個動作:

  • 如果當前在 Flash 界面下彈出的就是 AS 3 的幫助文檔;

  • 如果當前在 Word 下彈出的就是 Word 幫助;

  • 在 Windows 下彈出的就是 Windows 幫助和支持。

同一個事件發生在不同的對象上會產生不同的結果。

多態的優點

  1. 消除類型之間的耦合關係

  2. 可替換性

  3. 可擴充性

  4. 接口性

  5. 靈活性

  6. 簡化性

多態存在的三個必要條件

  • 繼承

  • 重寫

  • 父類引用指向子類對象

比如:

Parent p = new Child();

當使用多態方式調用方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤;如果有,再去調用子類的同名方法。

多態的好處:可以使程序有良好的擴展,並可以對所有類的對象進行通用處理。

虛方法

可以被覆寫的方法都可以稱作虛方法,因此虛方法並不需要做特殊的聲明,也可以理解爲除了用static、final、private修飾之外的所有方法都是虛方法。

多態的實現方式

  • 重寫

  • 接口

  • 抽象類和抽象方法