Java方法重寫_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
一、方法重寫(Override)
在Java中如何來(lái)定義重寫:Java程序中類的繼承特性可以產(chǎn)生一個(gè)子類,子類繼承父類就擁有了父類的非私有的屬性(方法和變量),在子類中可以增加自己的屬性(方法和變量),同時(shí)也可以對(duì)父類中的方法進(jìn)行擴(kuò)展,以增強(qiáng)自己的功能,這樣就稱之為重寫,也稱為復(fù)寫或者覆蓋。所謂方法重寫就是子類的方法和父類中繼承下來(lái)的方法具有完全相同的方法名、返回值類型、方法的參數(shù)個(gè)數(shù)以及參數(shù)類型,這樣才能被稱為方法重寫。
代碼體現(xiàn):
// 這是父類的定義
public class Person {
public void eat() {
System.out.println("=====這是父類Person的eat方法=======");
}
}
// 這是子類的定義
public class Student extends Person {
@Override
public void eat() {
System.out.println("===這是子類Student的eat方法===");
}
// main方法測(cè)試
public static void main(String[] args) {
Student student = new Student();
student.eat(); //輸出:===這是子類Student的eat方法===
}
}
子類重寫父類的方法后,在實(shí)例化子類的時(shí)候則調(diào)用的是子類中的方法,父類的方法就如同被覆蓋了一樣。如果在子類中需要調(diào)用父類的方法,則在子類方法中使用super關(guān)鍵字調(diào)用父類的方法,格式:super.父類中的方法名(參數(shù)列表)。
重寫規(guī)則:
在進(jìn)行方法重寫的時(shí)候需要遵循以下規(guī)則才能實(shí)現(xiàn)方法重寫:
(一)子類方法的參數(shù)列表必須和父類中被重寫的方法的參數(shù)列表相同(參數(shù)個(gè)數(shù)和參數(shù)類型),否則只能實(shí)現(xiàn)方法的重載。
(二)子類方法的返回值類型必須和父類中被重寫的方法返回值類型相同,否則只能實(shí)現(xiàn)方法重載。
(三)在Java規(guī)定,子類方法的訪問(wèn)權(quán)限不能比父類中被重寫的方法的訪問(wèn)權(quán)限更小,必須大于或等于父類的訪問(wèn)權(quán)限。
(四)在重寫的過(guò)程中,如果父類中被重寫的方法拋出異常,則子類中的方法也要拋出異常。但是拋出的異常也有一定的約束--->子類不能拋出比父類更多的異常,只能拋出比父類更小的異常,或者不拋出異常。例如:父類方法拋出Exception,那么子類就只能拋出IOException或者拋出比Exception小的異?;蛘卟粧伋霎惓!?br />
以上所述是小編給大家介紹的Java方法重寫_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- java方法重寫實(shí)例分析
- java方法重寫和super關(guān)鍵字實(shí)例詳解
- java tostring方法重寫代碼示例
- Java中equals()方法重寫實(shí)現(xiàn)代碼
- 淺談Java編程ToString()方法重寫的意義
- Java中繼承、多態(tài)、重載和重寫介紹
- Java中的多態(tài)用法實(shí)例分析
- Java封裝、繼承、多態(tài)三大特征的理解
- java 多態(tài)性詳解及常見(jiàn)面試題
- java用接口、多態(tài)、繼承、類計(jì)算三角形和矩形周長(zhǎng)及面積的方法
- java中重載,繼承,重寫和多態(tài)的區(qū)別
- Java基礎(chǔ)之方法重寫和多態(tài)示例
相關(guān)文章
springboot如何獲取yml文件的自定義參數(shù)
這篇文章主要介紹了springboot如何獲取yml文件的自定義參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
MyBatis-Plus實(shí)現(xiàn)分頁(yè)的方法使用詳解
這篇文章主要為大家介紹了MyBatis-Plus的分頁(yè)的方法使用,包括:不傳參數(shù)時(shí)的默認(rèn)結(jié)果、查詢不存在的數(shù)據(jù)、手動(dòng)包裝page和自定義SQL,需要的可以參考一下2022-03-03
SpringCloud開(kāi)啟session共享并存儲(chǔ)到Redis的實(shí)現(xiàn)
這篇文章主要介紹了SpringCloud開(kāi)啟session共享并存儲(chǔ)到Redis的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
java設(shè)計(jì)模式之適配器模式(Adapter)
這篇文章主要介紹了java設(shè)計(jì)模式之適配器模式Adapter的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
MyBatis中使用#{}和${}占位符傳遞參數(shù)的各種報(bào)錯(cuò)信息處理方案
這篇文章主要介紹了MyBatis中使用#{}和${}占位符傳遞參數(shù)的各種報(bào)錯(cuò)信息處理方案,分別介紹了兩種占位符的區(qū)別,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
使用游長(zhǎng)編碼對(duì)字符串壓縮 Run Length編碼示例
這篇文章主要介紹了Run Length編碼的一個(gè)示例,大家參考使用吧2014-01-01
Java concurrency集合之ConcurrentSkipListMap_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java concurrency集合之ConcurrentSkipListMap的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
MyBatis-Plus如何關(guān)閉SQL日志打印詳解
在使用mybatisplus進(jìn)行開(kāi)發(fā)時(shí),日志是一個(gè)非常有用的工具,它可以幫助我們更好地了解和調(diào)試我們的代碼,這篇文章主要給大家介紹了關(guān)于MyBatis-Plus如何關(guān)閉SQL日志打印的相關(guān)資料,需要的朋友可以參考下2024-03-03

