重写与重载的区别 以及 重写中super的使用
???? 重寫是父類方法與子類方法有共同的參數名參數列表,返回類型必須父類的方法一致。子類的訪問修飾符一定要大于等于父類的訪問修飾符。如果在子類中還需要用到父類的方法,用super.method() 然后繼續寫需要的代碼。重寫的方法一定不能拋出新異常。
1、參數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是重載。
2、返回的類型必須一直與被重寫的方法的返回類型相同,否則不能稱其為重寫而是重載。
3、訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(public>protected>default>private)
4、重寫方法一定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常。例如:
父類的一個方法申明了一個檢查異常IOException,在重寫這個方法是就不能拋出Exception,只能拋出IOException的子類異常,可以拋出非檢查異常。
?
而重載的規則:
?
1、必須具有不同的參數列表;
?
2、可以有不同的返回類型,只要參數列表不同就可以了;
?
3、可以有不同的訪問修飾符;
?
4、可以拋出不同的異常;
?
?
?
重寫與重載的區別在于:
?
重寫多態性起作用,對調用被重載過的方法可以大大減少代碼的輸入量,同一個方法名只要往里面傳遞不同的參數就可以擁有不同的功能或返回值。
?
用好重寫和重載可以設計一個結構清晰而簡潔的類,可以說重寫和重載在編寫代碼過程中的作用非同一般.
?
轉載于:https://www.cnblogs.com/a6948076/p/7871151.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的重写与重载的区别 以及 重写中super的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css揭秘笔记——用户体验
- 下一篇: list集合去重复元素