2 つのインターフェイスを実装する抽象クラスがあります。私は 2 つのインターフェイスを使用しているため、どちらのインターフェイスを使用しても動的バインディングを実装できないのでしょうか? 理由は、インターフェイスの 1 つを使用する場合、明らかに、他のインターフェイスからメソッドを呼び出すことができないためです。なぜなら、型システムでは、サブタイプが多態変数の宣言に使用したインターフェイスによって定義されたメソッドを呼び出すことしかできないからです。
したがって、私の実際の質問は、抽象クラス (またはサブクラス) がメソッドの実装を確実に提供するようにするために、実際にインターフェイスのみを使用していることで問題ありませんか? これは、項目 19 が述べていることと矛盾しているようです。型にはインターフェイスのみを使用する必要があります (私はそれをポリモーフィズムを意味するものと考えました)。
例:
public interface A{
public void meth1();
}
public interface B{
public void meth2();
}
public abstract class C implements A,B{
}
public void DynamicBinding(A aobject){
//Can only call aobject.meth1();
}