為什麼在 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 日

2K+ 次瀏覽

啟動你的職業生涯

完成課程並獲得認證

開始學習
廣告
© . All rights reserved.