如果两个接口具有相同的方法名但参数不同,则调用哪一个?如果没有调用,为什么?
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);
}
}
答案 0 :(得分:2)
该方法的签名定义了将调用哪一个。
你的2种表演方法的签名是不同的。第一个不接受任何参数,第二个接受一个int参数。
由于在调用方法时要提供参数,因此已经定义了要调用的方法。