为什么仅通过在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