方法的過載與重寫

2021-08-29 22:04:01 字數 676 閱讀 9803

1.方法的過載

方法的過載就是讓類以統一的方式來處理不同型別資料的一種手段。有時候,對於同一種功能卻卻有多種實現形式,到底採用何種實現形式,取決於呼叫者給定的引數。給定的引數不同,呼叫的方法也不同,比如,對於同一種動物,卻用不同的訓練形式,到底採用何種訓練形式,取決於呼叫者。

寫道public void train(dog dog) //傳入狗的引數,執行狗的命令。

public void train(monkey monkey)//傳入猴子的引數,執行猴子的命令

需要注意的是:方法的名稱,引數的順序及其型別構成了方法的簽名,在類中每個方法的簽名都必須唯一,編譯器就是根

據方法的簽名來判斷在何時具體呼叫哪個方法,而返回型別對與方法的簽名卻沒有任何影響。

2.方法的重寫

方法的重寫在子類繼承父類的時候才會出現。在子類繼承父類的時候,我們可以直接的使用父類中的所有方法,但是有些時候父類中的方法不能完全適應我們的需要,我們可以對父類的方法進行適當的改變,這就叫方法的重寫,也被稱之為方法的覆蓋。

需要我們注意到是,方法的重寫與覆蓋有一些不同點:

a.方法的重寫要求方法簽名必須相同,而方法的過載要求方法簽名必須不同。

b.方法的重寫放回型別必須一致,而方法的過載則沒有要求。

c.方法的重寫只侷限與子類和父類之間,而方法的過載可以在乙個類的所有方法之間進行。

方法過載與重寫

方法過載是指在乙個類中定義多個同名的方法,但要求每個方法具有不同的引數的型別或引數的個數。方法過載一般用於建立一組任務相似但是引數不同的方法。public class test voidf float f void f string s void f string s1,string s2 void...

方法重寫與過載

方法重寫指的是子類內編寫乙個返回值型別 方法名和引數列表都和父類某個方法一樣的方法,這個方法的方法體可以自己diy,修飾符的範圍必須大於或者等於父類被重寫方法的修飾符。為什麼要進行方法重寫呢?我們知道,子類可以使用從父類繼承而來的方法,但是有時候繼承而來的方法無法滿足我們的需要,這個時候我們可以重寫...

方法的過載與重寫

重寫發生在子類與父類當中,子類繼承父類的方法後,可以根據需要進行 修改,變成自己所需要的方法,此即重寫。過載是指同乙個類中可以有若干個同名的方法,只要方法的引數列表不同,包括引數的個數不同,引數的型別不同,引數的順序不同 和方法的返回值型別沒有關係。過載方法的呼叫 jvm根據方法的引數列表呼叫不同的...