代码如下:
interface A
{
void test();
}
interface B
{
void test();
}
public class C implements A,B {
public static void main(String[] args) {
C c=new C();
c.test();
}
public void test() {
System.out.println("hai");
}
}
这里o/p来了,但是调用的是哪个接口(interface)方法呢?
最佳答案
接口(interface)所需要的只是一个名为 test()
的 void
方法,该方法不带任何参数。 test()
的实现位于您的类中,而不是接口(interface)中。
此外,您不能使用new
实例化接口(interface);但是,您可以执行以下操作:
A a = new C();
或
B b = new C();
编辑:
如果您从方法 header 中取出public
,则不起作用,因为接口(interface)方法必须公开。尽管在声明 header 时没有将 public
放入接口(interface)中,但接口(interface)方法默认为 public
——这是无法更改的,并且将 public
界面内的标题中是不必要的。
关于java - 如果接口(interface)有两个同名的方法,那么在实现时首先调用哪个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297617/