我使用intellij IDEA 14。
我遇到了以下问题。让类ClassA
从接口A
实现,类ClassB
从接口B
实现,类ClassC
从接口C
实现。
接口A
有方法Object method (B b, C c) {...}
,但我无法创建接口对象,因此我解决了在类Object method(...) {...}
中覆盖此方法ClassA
的问题:
...
@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?
谢谢!
答案 0 :(得分:1)
你就是不这样做。
想象一下,例如,你是否还有两个班级。 ClassB2 implements B
和ClassC2 implements C
。您的方法不适用于参数(ClassB2 b2, ClassC2 c2)
,而Object method (B b, C c)
可以使用它。在那里,您在接口和实现之间存在不一致。