首頁技術(shù)文章正文

java方法的重載,如何使用方法重載?

更新時間:2019-07-18 來源:黑馬程序員 瀏覽量:

在Java中,同一個類中的多個方法可以有相同的方法名稱,但是有不同的參數(shù)列表,這就稱為方法重載(method overloading)。假設(shè)要在程序中實現(xiàn)一個對數(shù)字求和的方法,由于參與求和數(shù)字的個數(shù)和類型都不確定,因此要針對不同的情況去設(shè)計不同的方法。接下來通過一個案例來實現(xiàn)對兩個整數(shù)相加、對三個整數(shù)相加以及對兩個小數(shù)相加的功能。

1571194186777_java-方法重載.jpg

public class Example1 {
  public static void main (String[] args) {
    //下面是針對求和方法的調(diào)用
    int suml = add01 (1, 2);
    int sum2 = add02 (1, 2, 3);
    double sum3 = add03 (1.2, 2.3);
    //下面的代碼是打印求和的結(jié)果
    System.out.println ("sum1="+ sum1);
    System.out.println ("sum2="+ sum2);
    System.out.println ("sum3="+ sum3);
  }
  //下面的方法實現(xiàn)了兩個整數(shù)相加
  public static int add01 (int x, int y) {
    return x+y;
  }
  //下面的方法實現(xiàn)了三個整數(shù)相加
  public static int add02 (int x, int y, int z) {
    return x+y+z;
  }
  //下面的方法實現(xiàn)了兩個小數(shù)相加
  public static double add03 (double x, double y) {
    return x+y;
  }
        
}


運(yùn)行結(jié)果為:

sum1= 3

sum2=6

sum3=3.5

 

從上面的代碼不難看出,程序需要針對每一種求和的情況都定義一個方法,如果每個方法的名稱都不相同,在調(diào)用時就很難分清哪種情況該調(diào)用哪個方法。為這個問題,Java允許在一個程序中定義多個名稱相同的方法,但是參數(shù)的類型或個數(shù)必須不同,這就是方法的重載。接下來通過方法重載的方式,修改Example1.java,下面看案例Example2.java。

 

public static
    public static void main(String[] args){
      //下面是針對求和方法的調(diào)用
      int suml = add(1, 2);
      int sum2 = add(1, 2, 3);
      double sum3=add(1.2,2.3);
      //下面的代碼是打印求和的結(jié)果
      System.out.println("sum1-"+sum1);
      System.out.println("aum2-"+sum2);
      System.out.println("sum3="+sum3);
    }
    //下面的方法實現(xiàn)了兩個整數(shù)相加
    public static int add (int x, int y){
      return x+y;
    }
    //下面的方法實現(xiàn)了三個整數(shù)相加
    public static int add (int x, int y, int z){
      return x+y+z;
    }
    //下面的方法實現(xiàn)了兩個小數(shù)相加
    public static double add (double x, double y){
      return x+y;
      
    }
}


Example2.java的運(yùn)行結(jié)果與Example2.java相同。Example2.java中定義了三個同名的add()方法,它們的參數(shù)個數(shù)或類型不同,從而形成了方法的重載。在main()方法中調(diào)用add()方法時,通過傳入不同的參數(shù)便可以確定調(diào)用哪個重載的方法,如add(1,2)調(diào)用的是兩個整數(shù)求和的方法。值得注意的是,方法的重載與返回值類型無關(guān),它只需要滿足兩個條件,一是方法名相同,二是參數(shù)個數(shù)或參數(shù)類型不相同。



推薦了解熱門學(xué)科

java培訓(xùn)Python人工智能Web前端培訓(xùn)PHP培訓(xùn)
區(qū)塊鏈培訓(xùn)影視制作培訓(xùn)C++培訓(xùn)產(chǎn)品經(jīng)理培訓(xùn)
UI設(shè)計培訓(xùn)新媒體培訓(xùn)產(chǎn)品經(jīng)理培訓(xùn)Linux運(yùn)維
大數(shù)據(jù)培訓(xùn)智能機(jī)器人軟件開發(fā)
分享到:
在線咨詢 我要報名
和我們在線交談!