Java中方法的重載與重寫舉例比較
前言
提示:這里可以添加本文要記錄的大概內(nèi)容:
方法的重載與重寫容易混,所以單獨拿出來比較

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

