有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

方法Java重写和接口

我使用intellij IDEA 14

我有以下问题。让类ClassA从接口A实现,类ClassB从接口B实现,类ClassC从接口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

谢谢大家!


共 (1) 个答案

  1. # 1 楼答案

    你不能那样做

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