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