為什麼在 Java 中透過僅更改方法的返回型別無法實現方法過載?


過載是根據傳遞給方法呼叫的引數,動態繫結方法呼叫與方法主體的機制。

如果您觀察以下示例,它包含兩個具有相同名稱、不同引數的方法,如果您透過傳遞兩個整數值來呼叫方法,則將執行第一個方法,如果您透過傳遞 3 個整數值來呼叫方法,則將執行第二個方法。
無法根據返回型別決定執行哪一個方法,因此,僅透過更改方法的返回型別無法實現過載。

示例

實況演示

public class Sample{
   public int add(int a, int b){
      int c = a+b;
      return c;
   }
   public void add(int a, int b, int c){
      int z = a+b+c;
      System.out.println(z);
   }
   public static void main(String args[] ){
      Sample obj = new Sample();
      System.out.println(obj.add(40, 50));
      obj.add(40, 50, 60);
   }
}

輸出

90
150

更新於: 2019 年 7 月 30 日

2 千+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.