Java的過載與重寫的區別

2021-08-31 23:29:08 字數 533 閱讀 7144

一、過載

過載就是在類的同一種功能的多種實現方式,到底採用哪種方式,取決於呼叫者給出的引數。

過載是乙個類中多型性的一種表現。

方法名相同,方法的引數型別、個數、順序至少有一項不同,方法返回型別可以不同(只是返回型別不一樣,不能構成過載),方法的修飾符可以不同(只是控制訪問修飾符不同,不能構成過載)。

過載是最典型的就是乙個類的不同的建構函式。

二、重寫

重寫父類與子類之間多型性的一種表現

方法重寫就是子類有乙個方法,和父類的某個方法的名稱、返回型別、引數一樣,那麼我們就說子類的這個方法覆蓋了父類的那個方法。

子類的方法的返回型別,引數,方法名稱,要和父類的返回型別,引數,方法名稱完全一樣,否則編譯出錯。

子類方法不能縮小父類方法的訪問許可權。

子類方法丟擲異常的範圍不能大於父類方法丟擲異常的範圍。

若父類方法沒有丟擲異常,則子類方法也不允許丟擲異常。

JAVA重寫與過載的區別

重寫的主要優點是能夠定義某個子類特有的特徵 如 public class father public class son extends father 這也叫做多型性,重寫方法只能存在於具有繼承關係中,重寫方法只能重寫父類非私有的方法,當上例中 father類 speak 方法被private時,s...

java中過載與重寫的區別

過載 overload 方法過載是乙個類中有多個同名方法,但是引數列表不同 引數型別或個數不同 通過傳入的引數不同來呼叫不同的方法。過載是乙個類多型性的表現。方法過載不要求返回值型別相同,所以不能以返回值型別作為區分過載的標準。重寫 override 方法重寫是方法名和引數列表 引數型別和引數個數 ...

java中過載與重寫的區別

重寫 overriding 過載 overloading 類的數量 父子類 介面與實現類 本類方法名稱 一致一致 引數列表 一定不能修改 必須修改 返回型別 一定不能修改 可以修改 異常可以減少或刪除,但不能擴充套件 可以修改 過載發生在本類,方法名相同,引數列表不同,與返回值無關,只和方法名,引數...