为什么在 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+ 次浏览

启动你的职业生涯

完成课程并获得认证

开始学习
广告