欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA中重寫(xiě)(Override)與重載(Overload)的相關(guān)示例

 更新時(shí)間:2023年10月28日 10:53:43   作者:許思王  
這篇文章主要給大家介紹了關(guān)于JAVA中重寫(xiě)(Override)與重載(Overload)的相關(guān)示例,重寫(xiě)(override)和重載(overload)是兩種不同的方法重用技術(shù),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

關(guān)于JAVA,我們也已經(jīng)學(xué)習(xí)過(guò)一段時(shí)間了,今天我們來(lái)學(xué)習(xí)一下在JAVA中方法的重載與重寫(xiě)。

方法重載(Overload)

方法重載(overload)是指在一個(gè)類中定義多個(gè)同名但參數(shù)列表不同的方法。Java編譯器會(huì)根據(jù)方法調(diào)用時(shí)傳遞的參數(shù)來(lái)選擇調(diào)用哪個(gè)方法。方法重載的優(yōu)勢(shì)在于可以為相似功能的方法提供統(tǒng)一的方法名,方便代碼編寫(xiě)和維護(hù)。

重載的規(guī)則

  • 方法名必須相同。
  • 參數(shù)列表必須不同(個(gè)數(shù)、類型、順序)。
  • 方法的返回類型可以相同也可以不同。
  • 不能僅依據(jù)返回類型的不同來(lái)重載方法。

示例代碼

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
    public double add(double a, double b) {
        return a + b;
    }
    public int add(int a, int b, int c) {
        return a + b + c;
    }
}

在這個(gè)示例中,我們定義了三個(gè)名為add的方法,它們的參數(shù)列表不同。當(dāng)需要調(diào)用add方法時(shí),Java編譯器會(huì)根據(jù)傳入的參數(shù)類型和數(shù)量選擇正確的方法進(jìn)行調(diào)用。例如,add(1,2)會(huì)調(diào)用第一個(gè)add方法,add(1.0,2.0)會(huì)調(diào)用第二個(gè)add方法。

方法重寫(xiě)(Override)

在 Java 中,方法重寫(xiě)是指子類覆蓋了父類中具有相同名稱、參數(shù)列表和返回類型的方法。重寫(xiě)方法的目的是為了改變方法的實(shí)現(xiàn),讓子類的方法能夠滿足自己的需求,并且能夠替換父類中的同名方法。

重寫(xiě)的規(guī)則

  • 方法名稱、參數(shù)列表和返回類型必須與父類中的方法相同。
  • 子類中重寫(xiě)的方法的訪問(wèn)修飾符不能低于父類中被重寫(xiě)的方法的訪問(wèn)修飾符。
  • 子類中重寫(xiě)的方法不能拋出比父類中被重寫(xiě)的方法聲明的更多的異常類型。
  • 子類中無(wú)法重寫(xiě)父類中被聲明為 final 的方法。

示例代碼

class Animal {
   public void move() {
      System.out.println("動(dòng)物可以移動(dòng)");
   }
}

class Dog extends Animal {
   public void move() {
      System.out.println("狗可以跑和走");
   }
}

public class TestDog {

   public static void main(String args[]) {
      Animal a = new Animal(); // Animal 對(duì)象
      Animal b = new Dog(); // Dog 對(duì)象

      a.move(); // 執(zhí)行 Animal 類的方法
      b.move(); // 執(zhí)行 Dog 類的方法
   }
}

在上面的例子中,Animal 類有一個(gè) move() 方法。在 Dog 類中,我們重寫(xiě)了這個(gè)方法,并且定義了新的實(shí)現(xiàn)方式。在 main() 方法中,我們創(chuàng)建了一個(gè) Animal 類型的對(duì)象和一個(gè) Dog 類型的對(duì)象。通過(guò)調(diào)用它們的 move() 方法,我們可以看到,當(dāng)調(diào)用 Animal 類型的對(duì)象時(shí),執(zhí)行的是 Animal 類中的方法,而當(dāng)調(diào)用 Dog 類型的對(duì)象時(shí),執(zhí)行的是 Dog 類中的方法。這就是方法重寫(xiě)的作用。

方法重載與方法重寫(xiě)的區(qū)別

方法重載指在同一個(gè)類中定義多個(gè)同名方法,但它們的參數(shù)列表不同(參數(shù)類型、參數(shù)個(gè)數(shù)、參數(shù)順序不同)。Java 編譯器會(huì)根據(jù)不同的參數(shù)列表來(lái)區(qū)分和調(diào)用不同的方法。在方法重載中,方法名相同,但參數(shù)列表不同,返回類型可以相同也可以不同。

方法重載是在同一個(gè)類中出現(xiàn),方法名相同,但參數(shù)列表不同,方法重寫(xiě)是在父類和子類之間出現(xiàn),方法名、參數(shù)列表和返回值類型必須相同。

總結(jié)

到此這篇關(guān)于JAVA中重寫(xiě)(Override)與重載(Overload)的文章就介紹到這了,更多相關(guān)JAVA 重寫(xiě)與重載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論