Доступ к методу подкласса через ArrayList
У меня есть ArrayList игроков в игровом классе. Игрок может играть как человек или как процессор. Таким образом, у меня есть классы человека и процессора, который расширяет класс игрока
public class Game{
private ArrayList<Player> _list;
Game(){
_list=new ArrayList<Player>();
}
//**********
void doSomething(){
for(int i=0;i<_list.size();i++){
Player q=_list.get(i);
if(q is instaceof CPU) //I'd like to call a CPU method
else //I'd like to call a Human method
}
}
}
public abstract class Player{
private String name;
Player(string name2){
name=name;
}
//********** more methods
}
pulic class Human extends Player{
public Human(String name){
super(name);
}
void methodHuman();
}
public class CPU extends Player{
public CPU (String name){
super(name);
}
void methodCPU();
}
Как я могу вызвать метод подклассов? Я должен сделать бросок?