方法的重寫:
也叫方法的覆寫;其就是在子類覆寫乙個與父類名字一樣且引數列表相同的方法。以及返回值與修飾符也需要遵循以下規則。
方法重寫遵循規則:兩同、兩小、一大
兩同: 方法名相同、引數列表相同
兩小:被覆寫的方法在子類中的返回值的引用型別的範圍比父類小或者與父類相同。返回值型別只能與父類的返回值型別一致或是父類返回值型別的子類(子類的子類等)。
被覆蓋的方法在子類中丟擲的異常範圍比父類小或者與父類相同(異常後續會講)
一大:被覆蓋的方法在子類中訪問控制許可權範圍要比父類的大或者等同。(除了private,private的屬性和方法不能被繼承,所以也不能被覆蓋)
示例**:
父類:
public class test
public static void main(string args)
}
子類:
public class son extends father
public static void main(string args)
}
子類重寫了父類的自我介紹方法
方法過載:
在乙個類中方法名稱相同稱為過載。
構成過載的幾個條件有以下幾種:
1、引數型別不同
2、引數個數不同
3、引數順序不同
方法過載的好處是什麼?
乙個方法名,實現多個功能。
示例**:
public class test
public person(string name, int age, string ***)
//構造方法1和構造方法2,方法名相同但引數個數不一致所以構成過載
public static void main(string args)
}
總結:方法的重寫(overriding)和方法的過載(overloading)的區別
方法的過載只能在本類,但是方法的重寫在子父類之間
方法的重寫的好處?
是對父類方法功能的完善,方法名稱必須一致,引數列表相同
父類不能呼叫子類的任何方法,因為父類對子類是無法預知的
方法重寫和方法過載
方法重寫 重寫方法的方法名,引數列表必須相同,返回型別可以相同也可以是原型別的子型別。重寫方法不能比原方法丟擲更多的異常。重寫方法的訪問許可權不能縮小 方法重寫只能用於子類重寫父類的方法,父類的乙個方法只能被子類重寫一次。被重寫的方法不能是final型別,因為final修飾的方法是無法重寫的 被重寫...
方法過載 和 方法重寫
什麼是方法的簽名?方法名稱 形參列表 注 返回值型別不是簽名的一部分 就是 方法的名稱 形參列表 假如兩個方法的名稱 形參列表都一樣,那我們稱是同乙個方法 1 方法的過載 overload 是一種現象 1 定義 方法名稱相同,引數的型別 順序或個數 不同 簡稱 引數列表不同 2 應用場景 通常用於建...
方法重寫和方法過載
1.區別 方法重寫是子類對父類繼承的方法需要進行進一步的擴大功能,重寫是建立在繼承關係上的。可以理解為子類覆蓋了父類的方法 函式名相同,引數列表相同,返回型別相同,訪問修飾符子類 父類 如果子類將父類的方法重寫了,呼叫時就是重寫的方法,那麼還想呼叫父類的方法,就需要super關鍵字,super關鍵字...