Java 多型
多型是同一個行為具有多個不同表現形式或形態的能力。多型就是同一個介面,使用不同的例項而執行不同操作,多型性是物件多種表現形式的體現。例如:可以把人分為男人和女人,男人有做力氣活的能力,女人具有做家務活的能力;男人又可以分出成年男人、青年男子,成年男子具有做重體力活或者農活,青年男子具有具有做輕體力活的能力。如此,將i相似 事物抽象成一類,抽象出共性表現形態和能力。
多型的優點
- 1. 消除型別之間的耦合關係
- 2. 可替換性
- 3. 可擴充性
- 4. 介面性
- 5. 靈活性
- 6. 簡化性
多型存在的三個必要條件
- 繼承
- 重寫
- 父類引用指向子類物件
當使用多型方式呼叫方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤;如果有,再去呼叫子類的同名方法。
多型的好處:可以使程式有良好的擴充套件,並可以對所有類的物件進行通用處理。
虛方法
我們將介紹在Java中,當設計類時,被重寫的方法的行為怎樣影響多型性。
我們已經討論了方法的重寫,也就是子類能夠重寫父類的方法。
當子類物件呼叫重寫的方法時,呼叫的是子類的方法,而不是父類中被重寫的方法。
要想呼叫父類中被重寫的方法,則必須使用關鍵字super。
多型的實現方式
方式一:重寫:
這個內容已經在上一章節詳細講過,就不再闡述,詳細可訪問:
方式二:介面
-
1. 生活中的介面最具代表性的就是插座,例如一個三接頭的插頭都能接在三孔插座中,因為這個是每個國家都有各自規定的介面規則,有可能到國外就不行,那是因為國外自己定義的介面型別。
-
2. java中的介面類似於生活中的介面,就是一些方法特徵的集合,但沒有方法的實現。