У меня есть абстрактный класс C0. У меня есть несколько других классов, которые наследуются от C0. Они переопределяют абстрактные методы и имеют собственные специальные методы.
Я хочу создать ArrayList, содержащий каждый из этих специализированных классов.
Вот кусок кода, показывающий, как я (хочу) это сделать:
ArrayList<C0> A = new ArrayList<>();
A.add(new C1() );
A.add(new C2() );
A.get(x).method_of_C0(); // Works because my classes extend C0.
A.get(0).method_of_C1(); // Does not work
A.get(1).method_of_C2(); // Does not work
Я хотел бы иметь возможность вызывать собственные методы C1 и C2 через этот ArrayList. Возможно ли это? Я пробовал некоторые настройки вручную, но безуспешно.