今天深圳達(dá)內(nèi)教育java培訓(xùn)機構(gòu)小編為大家介紹“java中什么是方法重寫及java方法重寫的”,希望通過此文大家能夠掌握java方法重寫及java方法重寫的規(guī)則,下面就隨小編一起來看看java中什么是方法重寫及java方法重寫的規(guī)則。
java方法重寫總結(jié)來說為:
方法名相同,參數(shù)類型相同
子類返回類型等于父類方法返回類型,
子類拋出異常小于等于父類方法拋出異常,
子類訪問權(quán)限大于等于父類方法訪問權(quán)限。
java方法重寫詳細(xì)的說明為:
重寫是子類對父類的允許訪問的方法的實現(xiàn)過程進(jìn)行重新編寫, 返回值和形參都不能改變。 即外殼不變,核心重寫!
重寫的好處在于子類可以根據(jù)需要,定義特定于自己的行為。 也就是說子類能夠根據(jù)需要實現(xiàn)父類的方法。
重寫方法不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的異常。例如: 父類的一個方法申明了一個檢查異常IOException,但是在重寫這個方法的時候不能拋出Exception異常,因為Exception是IOException的父類,只能拋出IOException的子類異常。
java方法重寫的規(guī)則
1、參數(shù)列表必須完全與被重寫方法的相同;
2、返回類型必須完全與被重寫方法的返回類型相同;子類返回類型小于等于父類方法返回類型。在java里面這個怎么樣都是正確的,請小伙伴謹(jǐn)記。
3、訪問權(quán)限不能比父類中被重寫的方法的訪問權(quán)限更低。例如:如果父類的一個方法被聲明為public,那么在子類中重寫該方法就不能聲明為protected。
4、父類的成員方法只能被它的子類重寫。
5、聲明為final的方法不能被重寫。
6、聲明為static的方法不能被重寫,但是能夠被再次聲明。
7、子類和父類在同一個包中,那么子類可以重寫父類所有方法,除了聲明為private和final的方法。
8、子類和父類不在同一個包中,那么子類只能夠重寫父類的聲明為public和protected的非final方法。
9、重寫的方法能夠拋出任何非強制異常,無論被重寫的方法是否拋出異常。但是,重寫的方法不能拋出新的強制性異常,或者比被重寫方法聲明的更廣泛的強制性異常,反之則可以。
10、構(gòu)造方法不能被重寫。
11、如果不能繼承一個方法,則不能重寫這個方法。
以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機構(gòu)小編介紹的“java中什么是方法重寫及java方法重寫的規(guī)則”的內(nèi)容,希望對大家有幫助,更多java最新資訊請繼續(xù)關(guān)注深圳達(dá)內(nèi)教育java培訓(xùn)機構(gòu)官網(wǎng),每天會有精彩內(nèi)容分享與你。
相關(guān)免費視頻教程推薦
java開發(fā)基礎(chǔ)教程下載——什么是方法重寫:http://www.bjpowernode.com/xiazai/2612.html