Java中方法過載跟方法覆寫的區別

2021-08-20 16:23:00 字數 906 閱讀 4532

方法過載

定義:在同乙個類中,允許存在乙個以上的同名方法,只要他們的引數個數或者引數型別或者引數順序(引數列表)不同即可。

法則:兩同,一不同

兩同:

1.同乙個類中。

2.方法名相同。

一不同:

引數列表不同:(引數個數,引數型別,引數順序)和方法的返回值和修飾符無關。

方法覆寫

定義:方法的覆寫是發生繼承的關係當中的,子類覆寫父類的相關方法。

法則:一同兩小一大

一同:父類方法和子類方法的的方法簽名(方法名和引數列表)必須相同;

兩小:

1.允許子類方法返回的型別是父類方法返回值型別的子類或相同;(子類可以返回更明確(小)的型別)

2.子類方法宣告丟擲的異常應比父類方法宣告丟擲的異常更小或者相等。

一大:子類方法的訪問許可權應比父類方法更大或者相等。

判斷方法是否是覆寫方法的必殺技:在覆寫方法上 @override就可以判斷

overload與override的區別

區別點過載(overload)

覆寫(override)

判斷規則

兩同一不同

一同兩小一大

許可權沒有許可權要求

被覆寫的方法不能擁有比父類更嚴格的許可權

範圍發生在乙個類之中

發生在繼承關係中

術語overload

override

多型編譯時多型

執行時多型

java中方法的過載與覆寫的區別

方法覆寫時從private變為default不算是方法覆寫 方法覆寫名字相同,返回值型別相同,引數個數不同 也可以相同 在繼承的關係中也存在著方法覆寫的概念,子類定義了與父類中同名的方法,但是方法覆寫時必須考慮到許可權,即被子類覆寫的方法不能擁有比父類方法更加嚴格的訪問許可權。privatevoid...

方法過載與方法覆寫

定義 若干個方法名稱相同,引數的型別或個數不同 即引數列表不同 的方法,與方法返回值無關!public class fangfachongzai public static int add int x,int y 方法過載 public static int add int x,int y,int ...

java中方法過載

方法的構造 就是在做乙個方法的宣告 public 修飾符,表示公共的。用於表示訪問許可權的。static 修飾符,表示靜態的。方法被呼叫的時候寫法不同 static 非static void 該方法的返回值。返回值 就表示方法結束後,返回給方法的呼叫處的數值的型別。基本資料型別和引用資料型別。如果方...