方法的重载与重写_深入解析JAVA重载与重写的区别
重載的概念
在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數類型不同即可。
同一個類、相同方法名 參數列表不同:參數個數不同,參數類型不同 跟方法的權限修飾符、返回值類型、形參變量名、方法體都沒有關系,都不算重載。只有滿足以上兩個條件才是重載。
class OverloadTest {String name;int age;public void setOverload() {}public void setOverload(String a) {}public void setOverload(int age) {}public void setOverload(String a, int age) {} }重寫(override/overwrite)
重寫:子類繼承父類以后,可以對父類中同名同參數的方法,進行覆蓋操作。
應用:重寫以后,當創建子類對象以后,通過子類對象調用子父類中的同名同參數的方法時,實際執行的是子類重寫父類的方法。
重寫的規定:
子類中的叫重寫的方法,父類中的叫被重寫的方法。 子類重寫的方法的方法名和形參列表與父類被重寫的方法的方法名和形參列表相同。 子類重寫的方法的權限修飾符不小于父類被重寫的方法的權限修飾符。 子類不能重寫父類中聲明為private權限的方法。 3. 返回值類型:
父類被重寫的方法的返回值類型是void,則子類重寫的方法的返回值類型只能是void。 父類被重寫的方法的返回值類型是A類型,則子類重寫的方法的返回值類型可以是A類或A類的子類。 父類被重寫的方法的返回值類型是基本數據類型(比如:double),則子類重寫的方法的返回值類型必須與父類一致。 4. 異常類型:子類重寫的方法拋出的異常類型不能大于父類被重寫的方法所拋出的異常類型。
最新2020整理收集的一些高頻面試題(都整理成文檔),有很多干貨,包含mysql,netty,spring,線程,spring cloud、jvm、源碼、算法等詳細講解,也有詳細的學習規劃圖,面試題整理等, 需要獲取這些內容的朋友點擊這里即可
總結
以上是生活随笔為你收集整理的方法的重载与重写_深入解析JAVA重载与重写的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存条新选择,z170 7代超内存震撼登
- 下一篇: js微信抢红包脚本代码_使用AutoJs