“类型B不能是C的超接口;超级接口必须是接口”错误

假设我有此接口A:

interface A

{

void doThis();

String doThat();

}

因此,我希望某些抽象类实现doThis()方法,而不是doThat()一个方法:

abstract class B implements A

{

public void doThis()

{

System.out.println("do this and then "+ doThat());

}

}

abstract class B2 implements A

{

public void doThis()

{

System.out.println(doThat() + "and then do this");

}

}

当您最终决定在常规类中实现de doThat方法时,就会出现错误:

public class C implements B

{

public String doThat()

{

return "do that";

}

}

此类导致我前面提到的错误:

“类型B不能是C的超级接口;超级接口必须是接口”

现在任何人都可以,如果这种类层次结构有效,还是应该以其他方式进行处理?

回答:

您必须使用 extends

public class C extends B

了解implementsextends关键字之间的区别很重要。因此,我建议您开始阅读以下问题:实现与扩展:何时使用?有什么不同?和那里的答案。

以上是 “类型B不能是C的超接口;超级接口必须是接口”错误 的全部内容, 来源链接: utcz.com/qa/434749.html

回到顶部