Java刷题知识点之方法覆盖(方法重写)和方法重载的区别
?
?
方法重寫的原則:
?
方法重載的原則:
?
?
重寫和重載的不同:
?
方法重寫 ?發(fā)生在子類和父類之間,具體實現(xiàn)是子類對父類中一個可訪問(Private修飾的方法不可被繼承)方法的重寫,保證其方法名、參數(shù)個數(shù),參數(shù)類型不變。 方法重載發(fā)生在一個類中,具體表現(xiàn)為多個方法具有相同的方法名,但其參數(shù)個數(shù)或參數(shù)類型各不相同。記住與返回值類型無關(guān)。?
?
?
?
?
幫助簡單記憶:
從定義上區(qū)分;
重載在一個類里面,方法名相同,方法參數(shù)不同。
重寫在子類父類之間,子類去重寫父類,方法名相同,方法參數(shù)相同。
?
重寫的兩同兩小一大:
方法名相同、方法參數(shù)相同。
它的返回類型小于等于父類的,它拋出的異常小于等于父類的。
(返回類型,比如返回的是Person這個類,那我如果返回Person的子類,不就是比它小嗎?)
它的訪問權(quán)限大于等于父類的。
重寫的時候 一大兩小兩同 方法名、參數(shù)相同,返回類型、異常范圍小于等于父類的,訪問權(quán)限大于等于父類的
?
?
?
重載在編譯期綁定,在編譯的時候,編譯器根據(jù)它參數(shù)的類型來決定說我綁定哪個方法。
重寫在運行期綁定,它是在運行時根據(jù)這個引用變量所指向的實例對象來決定我調(diào)用哪個實例對象的方法。
?
重寫(覆蓋)是子類對繼承的父類的方法,要求重寫的方法名,參數(shù),返回類型(可以是子類型)均相同。且訪問權(quán)限不能小于父類中的訪問權(quán)限,不能拋出更多的異常。是運行時多態(tài)。
重載是一個類中有多個名字相同的方法,但是他們的參數(shù)類型不用,返回值可以不同(但是僅僅返回值不同不能進行重載)。是編譯時多態(tài)。
?
?
方法的重載指在同一個類中,對于同一個方法名的方法提供不同的參數(shù)表和返回值。
方法的覆蓋指子類重新定義父類的方法,重寫的方法和父類的方法有同樣的方法名、參數(shù)表、返回值。需要被覆蓋的方法一般不限定其范圍。
本文轉(zhuǎn)自大數(shù)據(jù)躺過的坑博客園博客,原文鏈接:http://www.cnblogs.com/zlslch/p/7414017.html,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Java刷题知识点之方法覆盖(方法重写)和方法重载的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python笔记第二天
- 下一篇: 算法笔记_044:表达式计算求值(Jav