为什么不支持使用不同的返回类型重载



我已经搜索并发现使用不同的返回类型进行重载是不可能的,但我尝试这样做并且确实得到了输出。

public class inte {
    public int add(int a, int b) {
        return a + b;
    }
    
    public double add(int c, int d, int e) {
        return c + d + e;
    }
    
    public static void main(String args[]) {
        inte i = new inte();
        double sum=i.add(1, 2, 3);
        System.out.println(sum);
    }
}

这返回了正确的输出:

6,0

像这样重载是可能的,因为您更改了参数。仅更改返回类型而不更改其他任何内容是行不通的,因为编译器无法仅根据返回类型决定选择哪一个。但是,由于方法具有不同的参数,因此编译器可以选择正确的方法。有关重载的更多信息,请点击此处。

最新更新