注:轉載請備註原創地址:https://www.niwoxuexi.com/blog/java/article/169.html
重載(Overload):在類中多個同名函數同時存在,具有不同的參數個數/類型。方法名要一樣,但是參數類型和個數不一樣,返回值類型可以相同也可以不相同。
特點:與返回值類型無關,只看參數列表。
優點:方便閱讀,優化設計。
注意:不能有兩個名字相同,參數類型,參數個數也相同卻返回不同類型值的函數。
public class A{ //show方法被重載 public void show(){ } //show方法被重載 public void show(int a){ } }
函數覆蓋(override):出現在繼承的關係中,子類中出現了與父類一模一樣的方法時,會有覆蓋操作。
特點:(1)靜態函數只能覆蓋靜態函數;
(2)覆蓋時,子類方法權限一定要大於父類方法權限;
(3)不能拋出新的異常,或者父異常。
應用情景:當子類需要父類功能,而功能主體子類有自己特有功能時,可以複寫父類中的方法,這樣既包括了父類的功能,又定義了子類特有的功能。
public class A{ public void show(){ System.out.println("A"); } } public class B extends A{ //子類B重寫了父類A的show方法 public void show(){ System.out.println("B"); }