为什么在 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.