過載和重寫的區別

2022-01-17 06:17:22 字數 446 閱讀 5930

方法過載的規則如下:

1、引數列表:被過載的方法必須改變引數列表

2、返回型別:可以改變返回型別

3、修飾符:可以改變修飾符

4、異常:可以宣告新的或者更廣泛的異常

方法重寫的規則如下:

1、引數列表:必須與被重寫方法的引數列表完全匹配

2、返回型別:必須與超類中被重寫的方法中宣告的返回型別或子型別完全相同

3、訪問級別:一定不能比被重寫方法強,可以比被重寫方法弱

4、非檢查異常:重寫方法可以丟擲任何非檢查的異常,無論被重寫方法是否查明了該異常

5、檢查異常:重寫方法一定不能拋出新的檢查異常,或比被重寫方法宣告的檢查異常更廣的檢查異常

6、不能重寫標誌為final、static的方法

總的來說,方法過載和方法重寫是c#多型性的不同表現。重寫是父類與子類之間多型性的一種表現,過載是乙個類中多型性的表現。

過載和重寫區別

區別就是 過載 只在自己內部類 繼承的時候通過變換返回引數型別和引數個數來實現的 或者只在乙個類中的話,就是通過構造方法的引數不同來進行過載 左邊的是重寫,右邊的是過載 右邊子類的方法和父類的方法是完全兩個方法,因為引數變了 重寫 子類和父類之間 是子類實現父類同名方法,而且方法內部的引數型別要一模...

重寫和過載區別

當子類繼承父類的方法,這些方法不滿足自身需求時,子類可以重寫從父類繼承的方法。重寫的規則 修飾符 返回型別 方法名 引數 public void skill package jicheng public class dog extends anima package jicheng 子類 publi...

重寫和過載的區別

過載是指同乙個類中有若干個名稱相同但引數不同的方法。呼叫方法時,系統會根據實參情況,呼叫引數完全匹配的那個方法。重寫是指在繼承關係中,在派生類中重寫由基類繼承來的方法,這時基類和派生類中就有兩個同名的方法。系統根據物件的 實際型別呼叫相應版本的方法,當物件型別為基類時,系統呼叫基類中的方法。當物件型...