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

时间:2019-07-10 06:30:52

标签: java types return overloading

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

我是Java和学习的新手。

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

1 个答案:

答案 0 :(得分:3)

像这样的重载是可能的,因为您更改了参数。仅更改返回类型,不能更改其他任何方法,因为编译器无法仅根据返回类型来决定选择哪个类型。但是,由于方法具有不同的参数,因此编译器可以选择正确的方法。 More on overloading here.