Java方法重寫_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
一、方法重寫(Override)
在Java中如何來定義重寫:Java程序中類的繼承特性可以產(chǎn)生一個(gè)子類,子類繼承父類就擁有了父類的非私有的屬性(方法和變量),在子類中可以增加自己的屬性(方法和變量),同時(shí)也可以對(duì)父類中的方法進(jìn)行擴(kuò)展,以增強(qiáng)自己的功能,這樣就稱之為重寫,也稱為復(fù)寫或者覆蓋。所謂方法重寫就是子類的方法和父類中繼承下來的方法具有完全相同的方法名、返回值類型、方法的參數(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ī)定,子類方法的訪問權(quán)限不能比父類中被重寫的方法的訪問權(quán)限更小,必須大于或等于父類的訪問權(quán)限。
(四)在重寫的過程中,如果父類中被重寫的方法拋出異常,則子類中的方法也要拋出異常。但是拋出的異常也有一定的約束--->子類不能拋出比父類更多的異常,只能拋出比父類更小的異常,或者不拋出異常。例如:父類方法拋出Exception,那么子類就只能拋出IOException或者拋出比Exception小的異常或者不拋出異常。
以上所述是小編給大家介紹的Java方法重寫_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,希望對(duì)大家有所幫助,如果大家有任何疑問請(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)性詳解及常見面試題
- java用接口、多態(tài)、繼承、類計(jì)算三角形和矩形周長(zhǎng)及面積的方法
- java中重載,繼承,重寫和多態(tài)的區(qū)別
- Java基礎(chǔ)之方法重寫和多態(tài)示例
相關(guān)文章
Java連接MySQL8.0 JDBC的詳細(xì)步驟(IDEA版本)
這篇文章主要介紹了Java連接MySQL8.0 JDBC的詳細(xì)步驟(IDEA版本),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
JAVA異常處理機(jī)制之throws/throw使用情況
這篇文章主要介紹了JAVA異常處理機(jī)制之throws/throw使用情況的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
java web項(xiàng)目實(shí)現(xiàn)文件下載實(shí)例代碼
現(xiàn)在項(xiàng)目里面有個(gè)需求,需要把系統(tǒng)產(chǎn)生的日志文件給下載到本地 先獲取所有的日志文件列表,顯示到界面,選擇一個(gè)日志文件,把文件名傳到后臺(tái)2013-09-09
IDEA插件之彩虹括號(hào)Rainbow?Brackets使用介紹
這篇文章主要為大家介紹了IDEA插件之彩虹括號(hào)Rainbow?Brackets使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
SpringCloud2020 bootstrap 配置文件失效的解決方法
這篇文章主要介紹了SpringCloud2020 bootstrap 配置文件失效的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02

