当前位置: 首页 > 知识库问答 >
问题:

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

尚声
2023-03-14

假设我有这个接口A:

interface A
{
    void doThis();
    String 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");
    }
}
public class C implements B
{
    public String doThat()
    {
        return "do that";
    }
}

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

如果这个类的层次结构是有效的,那么任何人现在都可以了,还是我应该反过来做?

共有1个答案

微生昌勋
2023-03-14

必须使用extends

public class C extends B

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

 类似资料:
  • 问题内容: 假设我有此接口A: 因此,我希望某些抽象类实现doThis()方法,而不是doThat()一个方法: 当您最终决定在常规类中实现de doThat方法时,就会出现错误: 此类导致我前面提到的错误: “类型B不能是C的超级接口;超级接口必须是接口” 现在任何人都可以,如果这种类层次结构有效,还是应该以其他方式进行处理? 问题答案: 您必须使用 了解和关键字之间的区别很重要。因此,我建议您

  • 这和这里问的问题差不多。 但我的问题扩展了这一点。 我可以把它改成“A扩展B”,但我必须使我的方法是非静态的,这只会把我的整个系统搞砸。 我这样做了,然后它告诉我,几乎所有的其他类可能50不能引用非静态方法从类A的方法BB。

  • 我想通过google play services lib更改GoogleAdMobAdsSdk,但是当我删除GoogleAdMobAdsSdk时,我出现了一个错误:AdListener类型不能是GameActivity的超接口;超接口必须是接口。 你能帮帮我吗! PS:您可以在这里找到一部分代码:迁移到新的google play服务库 提前感谢!

  • 超级品类数据接口 - GetSuperCategories 获取超级品类数据 可根据名称模糊查询返回超级品类列表 Request Parameters Parameter name Type Description Required search_word string 名称模糊查询,如果不传,返回所有高级品类 No Response Elements Parameter name Type De

  • 问题内容: 因此我们都知道所有类都隐式扩展了Object。接口怎么样?是否存在隐式超级接口?我说有。以下代码编译: 该方法不是在Serializable中声明的,而是在Object中声明的。由于接口只能扩展其他接口,并且Object是类,而不是接口,因此必须存在一些要扩展的隐式接口。然后,该类必须隐式实现此隐式接口(哇,这很奇怪)。 所以,问题是,这有多正确? 问题答案: 由于接口只能扩展其他接口

  • 问题内容: 我正处于起步阶段,想全神贯注于Go。目前,我正在模拟一个API请求,该请求返回一个包含对象数组的JSON格式的字符串。我正在尝试找出最合适的方法来遍历每个记录并访问每个字段。最终,每个字段都将被写入Excel电子表格,但是现在我只想打印每个字段的键和值。 这就是我所拥有的(我会在Go Playground中提供它,但不支持HTTP请求): 一切工作正常,直到尝试循环访问包含每个记录的属