楼主,我把你的代码放到eclipse上去调试,知道哪里报错了。
class InterfaceTest
{
public static void main(String[] args)
{
D d = new D();
}
}
interface A
{
void methodA();
int show();//我这里改成int show(int a);,就可以了,楼主可以动手试试看
}
interface B
{
void methodB();
boolean show();//我这里改成boolean show(String s);,就可以了,楼主可以动手试试看
}
interface C extends B,A//接口是可以多继承的,这个地方报错的错误是:返回类型不兼容。你看看接口B和接口A里面都有一个show方法,而且只有返回值不同,等到调用的时候JVM就不知道到底该调用哪一个了。如果你想实现重载的话,就应该传入不一样的参数
{
void methodC();
}
class D implements C
{
public void methodA(){}
public void methodB(){}
public void methodC(){}
public int show(){} //这两个show方法而且只有返回值不同,等到调用的时候JVM就不知道到底该调用哪一个了。另外只有不是void型的,都应该用return来返回函数值。
public boolean show(){}//如果你想实现重载的话,就应该传入不一样的参数。我把这两个地方改了一下,
public int show(int a ){return a;} public boolean show(String b){return false;} 这样就不会报错了,楼主可以试试哦
}