我有一个接口 A,我必须为此提供几个不同的实现。但是,这些实现共享一些辅助方法,因此我将这些方法移至抽象基类。
Interface A {
void doX();
}
abstract Class B implements A {
protected void commonY() {
// ...
}
@Override
public abstract void doX();
}
Class C extends B {
@Override
public void doX() {
// ...
}
}
Class D extends B {
@Override
public void doX() {
// ...
}
}
我的代码按预期工作,但我有几个问题:
我应该在 B 类中声明抽象方法 doX() 吗?为什么不)?
我是否还应该在 C 类和 D 类上明确声明“实现 A”?为什么不)?