方法重寫與方法過載

2021-06-19 12:05:30 字數 819 閱讀 5763

1、方法重寫(overiding method)

1.1在物件導向程式設計中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。方法重寫又稱方法覆蓋。 若子類中的方法與父類中的某一方法具有相同的方法名、返回型別和參數列,則新方法將覆蓋原有的方法。 如需父類中原有的方法,可使用super關鍵字,該關鍵字引用了當前類的父類。

1.2方法重寫的特性

關於方法重寫的一些特性:

1.發生方法重寫的兩個方法返回值、方法名、引數列表必須完全一致(子類重寫父類的方法)

2.子類丟擲的異常不能超過父類相應方法丟擲的異常(子類異常不能大於父類異常)

3.子類方法的訪問級別不能低於父類相應方法的訪問級別(子類訪問級別不能低於父類訪問級別)

根據2,3條是不是能確定第一條,子類方法的返回值必須是父類方法返回值的子類。

2、方法過載(overloading method)

2.1方法過載是讓類以統一的方式處理不同型別資料的一種手段。方法過載,其實就是在類中可以建立多個方法,它們具有相同的名字,但具有不同的引數和不同的定義。呼叫方法時通過傳遞給它們的不同個數和型別的引數來決定具體使用哪個方法。簡單的說,方法過載就是方法名稱重複,載入引數不同。

2.2方法過載具體規範

1.方法名一定要相同。

2.方法的參數列必須不同,包括引數的型別或個數,以此區分不同的方法體。

1)如果引數個數不同,就不管它的引數型別了!

2)如果引數個數相同,那麼引數的型別或者引數的順序必須不同。

3.方法的返回型別、

修飾符可以相同,也可不同。

方法過載與方法重寫

方法過載 就是在同乙個類中,方法的名字相同,但引數個數 引數的型別或返回值型別不同!方法重寫 它是指子類和父類的關係,子類重寫了父類的方法,但方法名 引數型別 引數個數必須相同!關於方法重寫的一些特性 1.發生方法重寫的兩個方法返回值 方法名 引數列表必須完全一致 子類重寫父類的方法 2.子類丟擲的...

方法重寫與方法過載

方法過載 方法過載是指在乙個類中定義多個同名的方法,但要求每個方法具有不同的引數的型別或引數的個數。方法過載通常用於建立完成一組任務相似但引數的型別或引數的個數不同的方法。方法重寫 在c 中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作一定的...

方法過載與重寫

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