两个接口如何使用两种方法

时间:2015-03-24 18:13:12

标签: java interface

如果两个接口具有相同的方法名但参数不同,则调用哪一个?如果没有调用,为什么?

interface a {
    void show(int i);
}

interface b {
    void show();
}

class InterfaceTest implements b, a {
    public void show() {
        System.out.println("this is show");
    }

    public void show(int a) {
        System.out.println("this is show1");
    }

    public static void main(String args[]) {
        InterfaceTest it = new InterfaceTest(); 
        it.show();
        it.show(1);
    }
}

1 个答案:

答案 0 :(得分:2)

该方法的签名定义了将调用哪一个。

你的2种表演方法的签名是不同的。第一个不接受任何参数,第二个接受一个int参数。

由于在调用方法时要提供参数,因此已经定义了要调用的方法。