Страницы

Поиск по вопросам

вторник, 23 апреля 2019 г.

Вытащить класс из коллекции типа абстрактного класса

Всем привет !
Каким образом можно вытащить класс из коллекции (на примере)
Имеется абстрактный класс Игрок
public Player(String firstName, String lastName, int age) { this.firstName = firstName; this.lastName = lastName; this.age = age; }
Имеется класс Вратарь
public GoalKeeper(String firstName, String lastName, int age, int handling, int aerialAbility) { super(firstName, lastName, age); this.handling = handling; this.aerialAbility = aerialAbility; }
Позже я создаю объект и помещаю его в коллекцию типа Игрок (абстрактный класс)
players = new ArrayList();
players.add(new GoalKeeper("Олег", "Газманов", 11, 44, 35));
Каким образом я могу из этой коллекции вытащить данные класса Вратарь ? Спасибо !


Ответ

Необходимо проверить и привести тип:
Player player = players.get(0); //или другой индекс if (player instanceof GoalKeeper) { GoalKeeper goalKeeper = (GoalKeeper) player; //... }

Комментариев нет:

Отправить комментарий