Java學習之理解多型

忘塵天外天發表於2017-07-19

Java 多型


多型是同一個行為具有多個不同表現形式或形態的能力。多型就是同一個介面,使用不同的例項而執行不同操作,多型性是物件多種表現形式的體現。例如:可以把人分為男人和女人,男人有做力氣活的能力,女人具有做家務活的能力;男人又可以分出成年男人、青年男子,成年男子具有做重體力活或者農活,青年男子具有具有做輕體力活的能力。如此,將i相似 事物抽象成一類,抽象出共性表現形態和能力。

多型的優點

  • 1. 消除型別之間的耦合關係
  • 2. 可替換性
  • 3. 可擴充性
  • 4. 介面性
  • 5. 靈活性
  • 6. 簡化性

多型存在的三個必要條件

  • 繼承
  • 重寫
  • 父類引用指向子類物件

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

多型的好處:可以使程式有良好的擴充套件,並可以對所有類的物件進行通用處理。

虛方法

我們將介紹在Java中,當設計類時,被重寫的方法的行為怎樣影響多型性。

我們已經討論了方法的重寫,也就是子類能夠重寫父類的方法。

當子類物件呼叫重寫的方法時,呼叫的是子類的方法,而不是父類中被重寫的方法。

要想呼叫父類中被重寫的方法,則必須使用關鍵字super。

多型的實現方式

方式一:重寫:

這個內容已經在上一章節詳細講過,就不再闡述,詳細可訪問:

方式二:介面

  • 1. 生活中的介面最具代表性的就是插座,例如一個三接頭的插頭都能接在三孔插座中,因為這個是每個國家都有各自規定的介面規則,有可能到國外就不行,那是因為國外自己定義的介面型別。

  • 2. java中的介面類似於生活中的介面,就是一些方法特徵的集合,但沒有方法的實現。

相關文章