【重載、重寫 和 多態】 JAVA

重載:

方法重載是讓類以統一的方式處理不同類型數據的一種手段。多個同名函數同時存在,具有不同的參數個數/類型。

重載Overloading是一個類中多態性的一種表現。

Java的方法重載,就是在類中可以創建多個方法,它們具有相同的名字,但具有不同的參數和不同的定義。
調用方法時通過傳遞給它們的不同參數個數和參數類型來決定具體使用哪個方法, 這就是多態性。

注意:

不同的參數類型可以是不同的參數類型,不同的參數個數,不同的參數順序(參數類型必須不一樣)

重寫:

父類與子類之間的多態性,對父類的函數進行重新定義。如果在子類中定義某方法與其父類有相同的名稱和參數和返回值類型,我們說該方法被重寫 (Overriding)。在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。
但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。
方法重寫又稱方法覆蓋。

注意:

1、重寫方法的訪問修飾符一定要大於被重寫方法的訪問修飾符(public>protected>default>private)
2、重寫的方法所拋出的異常必須和被重寫方法的所拋出的異常一致,或者是其子類;
3、被重寫的方法不能爲private,否則在其子類中只是新定義了一個方法,並沒有對其進行重寫。
4、靜態方法不能被重寫爲非靜態的方法(會編譯出錯)

多態:

多態性是面向對象編程的一種特性,和方法無關,
簡單說,就是同樣的一個方法能夠根據輸入數據的不同,做出不同的處理,即方法的
重載——有不同的參數列表(靜態多態性)
而當子類繼承自父類的相同方法,輸入數據一樣,但要做出有別於父類的響應時,你就要覆蓋父類方法,
即在子類中重寫該方法——相同參數,不同實現(動態多態性)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章