【Java基础】重写与重载
生活随笔
收集整理的這篇文章主要介紹了
【Java基础】重写与重载
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
重寫(Override): 定義:在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類并不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫。 方法重寫又稱方法覆蓋。 若子類中的方法與父類中的某一方法具有相同的方法名、返回類型和參數(shù)表,則新方法將覆蓋原有的方法。 如需父類中原有的方法,可使用super關(guān)鍵字,該關(guān)鍵字引用了當(dāng)前類的父類。 重寫方法的規(guī)則: 1、重寫只能在父子類之間實(shí)現(xiàn)。 2、參數(shù)列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是重載。 3、返回的類型必須一直與被重寫的方法的返回類型相同,否則不能稱其為重寫而是重載。 4、訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(public>protected>default>private) 5、重寫方法一定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常。 例如: 父類的一個方法申明了一個檢查異常IOException,在重寫這個方法是就不能拋出Exception,只能拋出IOException的子類異常,可以拋出非檢查異常。重寫與重載的區(qū)別在于: ? ? 方法的重寫Override和重載Overload是Java多態(tài)性的不同表現(xiàn)。 重寫 Overrid是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overload是一個類中多態(tài)性 的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法 被重寫 (Override)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而 言,父類中的定義如同被“屏蔽”了,而且如果子類的方法名和參數(shù)類型和個和 父 數(shù)都 類相同,那么子類的返回值類型必須和父類的相同。 如果在一個類中定義了多個同 方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載 (Overload)。Overload的方法是可以改變返回類型。也就是說,重載的返回 值類型可以相同也可以不同。 重寫多態(tài)性起作用,對調(diào)用被重載過的方法可以大大減少代碼的輸量,同一個方法名只要往里面?zhèn)鬟f不同的參數(shù)就可以擁有不同的功能或返回值。
注意:重載是高級語言的共性,而重寫是面向?qū)ο笳Z言所獨(dú)具的!
轉(zhuǎn)載于:https://my.oschina.net/aram/blog/99951
總結(jié)
以上是生活随笔為你收集整理的【Java基础】重写与重载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你必须知道的.Net 读书笔记----n
- 下一篇: 关于IE6,奇数宽高的BUG