易百教程

74、为什么不能通过更改 java 中的返回类型来实现方法重载?

在 Java 中,由于避免歧义,无法通过更改程序的返回类型来重载方法。示例:


class Adder {

    static int add(int a, int b) {
        return a + b;
    }

    static double add(int a, int b) {
        return a + b;
    }
}

class TestOverloading3 {

    public static void main(String[] args) {
        System.out.println(Adder.add(11, 11));//ambiguity  
    }
}

运行出错:

Compile Time Error: method add(int, int) is already defined in class Adder