java關于函數重載(overload)和函數覆蓋(override)區別

注:轉載請備注原創地址: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");
}
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容