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

“A不能是B的超接口;超接口必须是接口“[封闭]

酆出野
2023-03-14

这和这里问的问题差不多。

但我的问题扩展了这一点。

我可以把它改成“A扩展B”,但我必须使我的方法是非静态的,这只会把我的整个系统搞砸。

public class  A {

    public static final BB (){

    }
     public static final AA (){

    }
  }
}
public class AImpl implements A {

    public BB (){

    }
     public AA (){

    }
  }
}

我这样做了,然后它告诉我,几乎所有的其他类可能50不能引用非静态方法从类A的方法BB。

共有1个答案

明安阳
2023-03-14

接口s不能有静态方法。它们可以有静态final常量,但不能有方法。

如果要使用静态方法,则需要使用抽象类

interface Iface {
    void doStuff();        
}

abstract class Base implements Iface {
    static void doStaticStuff() {

    }
}

编辑

static class A {
    static void a(){}
}

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

  • 假设我有这个接口A: “类型B不能是C的超级接口;超级接口必须是接口” 如果这个类的层次结构是有效的,那么任何人现在都可以了,还是我应该反过来做?

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

  • 问题内容: 亲爱的开发人员, 我遇到了这个问题,对我来说似乎有点奇怪。看一下这段代码: 在其他包装上,我有以下代码: 运行时不接受提到的行,因为 “不能在fieldint.AddFilter的参数中使用fieldfilter(类型为 coreinterfaces.FieldFilter)作为类型为 coreinterfaces.FilterInterface:* coreinterfaces.Fi

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

  • 问题内容: 我有: 因此,如果我正确理解循环继承的发生,是因为: 编译器转到 A 并说: “嘿,A实现了BListener,让我们去查找BListener!” 然后,当它尝试找到BListener时,最终到达 B ,它说: “嘿,B侦听器,A所需的B侦听器在B内!但是等待!B的侦听器需要A!我们去寻找AListener!” 然后到达A,重复一次。我说对了吗? 顺便说一下,这个编译错误发生在我的An