Я один класс определен, как это:Проверьте родительский класс экземпляр дочернего класса
class Car {
}
и многие другие определены так:
class Audi extends Car {
}
class Seat extends Car {
}
class Mercedes extends Car {
}
class Opel extends Car {
}
...
У меня есть ситуации, когда я получаю список из всех этих автомобилей, который определяется следующим образом:
List<Car> cars = new ArrayList<Car>();
В этом списке есть много разных автомобилей, так как я могу и какой из них Audi, какой из них - Seat и т. д.?
Я пытался сделать это для автомобилей, для которых я знаю, что они типа Audi:
Audi audi = (Audi) cars.get(0);
Это бросает ClassCastException
. Как справиться с этой ситуацией?
Вы можете использовать instanceof, но это подрывает принципы ООП. Что ты пытаешься сделать? –
"* как я могу узнать, какой из них Audi, какой из них Seat *", почему вы даже хотите это сделать? Разве у вашего класса «Автомобиль» уже нет всего необходимого вам метода? – Pshemo
@AdrianLeonhard, я пытаюсь получить данные для конкретного автомобиля из списка автомобилей. Я получаю этот список из другого места и нуждаюсь в его обработке. – user3339562