過載與覆蓋

2021-07-11 01:29:33 字數 367 閱讀 5482

過載:方法名相同,引數列表不同(引數型別、引數個數和引數順序不同)。

覆蓋: 1.子修飾符訪問許可權不能比父類修飾符的許可權低;

2.被覆蓋的方法(父類方法)不能用final staic private 修飾;

覆蓋和過載的不同:

方法覆蓋要求引數列表必須一致,而方法過載要求引數列表必須不一致。

方法覆蓋要求返回型別必須一致,方法過載對此沒有要求

方法覆蓋只能用於子類覆蓋父類的方法,方法過載用於同乙個類中的所有方法(包括從父類中繼承而來的方法)。

方法覆蓋對方法的訪問許可權和丟擲的異常有特殊的要求,而方法過載在這方面沒有任何限制。

父類的乙個方法只能被子類覆蓋一次,而乙個方法可以在所有的類中可以被過載多次。

過載與覆蓋

方法的覆蓋和過載具有以下相同點 都要求方法同名 都可以用於抽象方法和非抽象方法之間 方法的覆蓋和過載具有以下不同點 方法覆蓋要求引數列表 引數簽名 必須一致,而方法過載要求引數列表必須不一致。方法覆蓋要求返回型別必須一致,方法過載對此沒有要求。方法覆蓋只能用於子類覆蓋父類的方法,方法過載用於同乙個類...

過載 覆蓋與隱藏

一 總結如下表 函式名均相同 引數返回值型別 virtual有無 類別父類子類間 方法為public 繼承為public同同 必須有override同異 有編譯不通過同 均可無hide異均可 無關hide 同一類內同異 無關編譯不通過異 均可無關 overload 二 幾點說明 override 重...

覆蓋 隱藏與過載

1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 4 virtual關鍵字可有可無。2 覆蓋是指派生類函式覆蓋基類函式,特徵是 1 不同的範圍 分別位於派生類與基類 2 函式名字相同 3 引數相同 4 基類函式必須有virtual關鍵字。例如 class base結果 a為基類指向派生類...