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)限不小于父類
- 拋出的異常聲明不大于父類
當我們要重寫一個方法時,我們可以在子類中定義一個同名的方法,使用@Override注解標注該方法,來表明我們要重寫父類中的方法。
下面是一個重寫方法的例子:
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()方法,并在該方法中輸出了一句話“狗在跑”
當我們調(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 Cloud feign GET請求無法用實體傳參的問題
這篇文章主要介紹了解決Spring Cloud feign GET請求無法用實體傳參的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之鏈表
這篇文章主要為大家介紹了Java數(shù)據(jù)結(jié)構(gòu)和算法之鏈表 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
MyBatisPlus如何優(yōu)化千萬級數(shù)據(jù)的CRUD
最近負責的一個項目,數(shù)據(jù)庫表量級破千萬,每次執(zhí)行 CRUD 都像走鋼絲,稍有不慎就引起數(shù)據(jù)庫報警,本文就結(jié)合這個項目的實戰(zhàn)經(jīng)驗,聊聊 MyBatis Plus在千萬級數(shù)據(jù)場景下如何優(yōu)化 CRUD2025-06-06
java 全角半角字符轉(zhuǎn)換如何實現(xiàn)
在java中可能會用到過全角半角字符轉(zhuǎn)換問題,于是網(wǎng)上搜索整理了一下,曬出來和大家分享,希望可以幫助你們2012-12-12
Java PDF 添加數(shù)字簽名的實現(xiàn)方法
這篇文章主要介紹了Java PDF 添加數(shù)字簽名的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12

