クラスA、B、CおよびインタフェースBImplがあるとします。 Aにおいてスーパークラスからインスタンスを経由してメソッドを取得する
我々はBImplを通じてBのインスタンスを作成する:Bにおいて
class A {
BImpl bimpl;
A() {
bimpl = new B();
}
public void speak() {
bimpl.getLanguage();
}
}
我々は(方法getWordsを有する)がBImplインターフェイスから上書きされています。このメソッドは、スーパークラスからretrieveLanguageDict()を呼び出します。
私が必要だった場合、クラスAのretrieveLanguageDict()メソッドをどのように呼び出すのですか?
'B'型のフィールドを宣言し、その型のメソッド宣言が見えるようにします。すべてのBImplがあなたが探しているメソッドを持っている必要はありません。 –