У меня есть абстрактный класс, который реализует два интерфейса. Правильно ли я думаю, что поскольку я использую два интерфейса, я не могу использовать ни один из них для реализации динамического связывания? Причина в том, что если бы я использовал один из интерфейсов, я, очевидно, не смог бы вызывать методы из другого интерфейса, поскольку система типов позволяла бы только подтипу вызывать методы, определенные интерфейсом, который я использовал для объявления полиморфной переменной?
Поэтому мой фактический вопрос: нормально ли, что я действительно использую интерфейсы только для того, чтобы мой абстрактный класс (или подклассы) определенно обеспечивал реализацию методов? Кажется, это противоречит тому, что говорится в правиле 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();
}