【问题标题】:Java overriding and interfacesJava 覆盖和接口
【发布时间】:2015-01-14 15:04:23
【问题描述】:

我使用 Intellij IDEA 14。

我遇到了以下问题。让类ClassA从接口A实现,类@9​​87654323@从接口B实现,类@9​​87654325@从接口C实现。

接口A 有方法Object method (B b, C c) {...} 但我无法创建接口对象,所以我解决了在我的类ClassA 中重写此方法Object method(...) {...}

...
@Override
Object method (ClassB b, ClassC c) { // But here compiler writes an error "method does not override method from its superclass"
...
}
...

但由于method does not override method from its superclass,无法编译。但为什么?为什么我们可以使用例如从 Map 实现的 HashMap?

谢谢!

【问题讨论】:

    标签: java methods intellij-idea overriding superclass


    【解决方案1】:

    你只是不这样做。

    想象一下,例如,如果您还有两个班级。 ClassB2 implements BClassC2 implements C。您的方法不适用于参数(ClassB2 b2, ClassC2 c2),而Object method (B b, C c) 可以。在那里,接口和实现之间存在不一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 1970-01-01
      • 2016-08-12
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      相关资源
      最近更新 更多