Java中方法的重載與重寫舉例比較
前言
提示:這里可以添加本文要記錄的大概內(nèi)容:
方法的重載與重寫容易混,所以單獨(dú)拿出來比較
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
方法重載
在同一個(gè)類中,允許定義一個(gè)以上同名的方法稱為方法重載
方法重載的規(guī)則:
- 方法名相同
- 方法的參數(shù)必須不同,參數(shù)類型或參數(shù)個(gè)數(shù)不同
- 方法的重載與返回值類型無關(guān)
public class 方法重載 { public static void m1(int x) { System.out.println("第一個(gè)m1"); } public static void m1(double y) { System.out.println("第二個(gè)m1"); } public static void main(String[] args) { m1(4.0); } }
方法重寫
子類將從父類中繼承下來的方法重新實(shí)現(xiàn),叫方法重寫(重新編寫方法體)
方法重寫的規(guī)則:
- 方法名相同
- 參數(shù)相同
- 返回值類型形同
- 訪問權(quán)限不小于父類
- 拋出的異常聲明不大于父類
當(dāng)我們要重寫一個(gè)方法時(shí),我們可以在子類中定義一個(gè)同名的方法,使用@Override注解標(biāo)注該方法,來表明我們要重寫父類中的方法。
下面是一個(gè)重寫方法的例子:
public class Animal { //父類 public void move() { System.out.println("動(dòng)物在移動(dòng)"); } } public class Dog extends Animal { //子類 @Override public void move() { System.out.println("狗在跑"); } public static void main(String[] args) { //測(cè)試 Animal animal = new Animal(); Dog dog = new Dog(); animal.move(); // 動(dòng)物在移動(dòng) dog.move(); // 狗在跑 } }
在上面的例子中,我們定義了一個(gè)Animal
類和它的一個(gè)子類Dog
Animal
類中有一個(gè)move()
方法,它用來輸出一句話“動(dòng)物在移動(dòng)”
在Dog
類中重寫了move()
方法,并在該方法中輸出了一句話“狗在跑”
當(dāng)我們調(diào)用move()
方法時(shí),如果調(diào)用的是Animal類的對(duì)象,就會(huì)輸出“動(dòng)物在移動(dòng)”,如果調(diào)用的是Dog
類的對(duì)象,就會(huì)輸出“狗在跑”。
這就是方法重寫的作用,它讓我們?cè)谧宇愔锌梢灾匦露x父類中的方法,并且可以根據(jù)需要修改其行為。
總結(jié)
到此這篇關(guān)于Java中方法的重載與重寫的文章就介紹到這了,更多相關(guān)Java方法的重載與重寫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot 整合 Apache Dubbo的示例代碼
Apache Dubbo是一款高性能、輕量級(jí)的開源 Java RPC 框架,這篇文章主要介紹了Spring Boot 整合 Apache Dubbo的方法,本文通過示例說明給大家講解的非常詳細(xì),需要的朋友可以參考下2021-07-07Eclipse?2022?設(shè)置中文漢化的超詳細(xì)圖文教程
這篇文章主要介紹了Eclipse?2022?設(shè)置中文漢化的超詳細(xì)圖文教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03SpringBoot集成MyBatis對(duì)管理員的查詢操作
本文主要介紹了SpringBoot集成MyBatis對(duì)管理員的查詢操作,實(shí)現(xiàn)增刪改查中的查詢操作,對(duì)所有的普通管理員進(jìn)行查詢操作,感興趣的可以了解一下2023-11-11IDEA卡在”正在解析Maven依賴項(xiàng)“的解決方法
在創(chuàng)建新的SpringBoot項(xiàng)目時(shí),始終卡在"正在解析Maven依賴項(xiàng)…",本文小編給大家介紹了幾種相關(guān)的解決方案,具有一定的參考價(jià)值,需要的朋友可以參考下2023-11-11Springboot接收?Form?表單數(shù)據(jù)的示例詳解
這篇文章主要介紹了Springboot接收?Form?表單數(shù)據(jù)的實(shí)例代碼,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08SpringBoot自帶模板引擎Thymeleaf使用示例詳解
Thymeleaf是一款用于渲染XML/HTML5內(nèi)容的模板引擎,類似JSP,它可以輕易的與SpringMVC等Web框架進(jìn)行集成作為Web應(yīng)用的模板引擎,本文給大家介紹SpringBoot自帶模板引擎Thymeleaf使用示例,感興趣的朋友一起看看吧2023-12-12