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