我有一個接口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() {
// ...
}
}
我的代碼工作正常,但我有幾個問題:
我應該聲明抽象方法DOX()B類?爲什麼不)?
我是否還應該在類C和D上顯式聲明「implements A」?爲什麼不)?
此解決方案的好處是,當實現Z的類X實現時,需要方法commonY的功能,它可以專用類B. – 2008-12-09 11:59:03