Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как воспользоваться методом дочернего класса, находящегося на итом месте в списке?

Ааа женщина джоджофаг Ученик (192), открыт 6 дней назад
Есть родительский класс TComponent. У него есть 5 дочерних классов. Например один из них - processor. Есть список этих компонентов (Set). И перебирая в цикле for элементы списка мне нужно использовать метод print() из дочернего класса.

public void vivod(ArrayList<TComponent> allComps) {
for(int i = 0; i < allComps.size(); i++) {
if (allCompsюget(i) instanceof processor) {
allComps.get(i).print();
}
}
}


Выдаёт ошибку "The method print() is undefined for the type TComponent"
3 ответа
Оракул Оракул (61224) 6 дней назад
 ((Processor) allComps.get(i)).print();   
Александр Искусственный Интеллект (293386) 5 дней назад
 public void vivod(List allComps) { 
for(int i = 0; i < allComps.size(); i++) {
if (allComps.get(i) instanceof Processor processor) {
processor.print();
}
}
}
Похожие вопросы