Как получить доступ из ArrayList к методам дочерних классов
Как получить доступ из ArrayList к методам дочерних классов?
Код:
abstract public class Solder {
private String name;
private int healf;
private int damage;
private int armor;
private int rangeAtack;
public Solder(String name, int healf, int damage, int armor, int rangeAtack) {
this.name = name;
this.healf = healf;
this.damage = damage;
this.armor = armor;
this.rangeAtack = rangeAtack;
}
public String getName() {
return name;
}
public int getHealf() {
return healf;
}
public int getDamage() {
return damage;
}
public int getArmor() {
return armor;
}
public int getRangeAtack() {
return rangeAtack;
}
public void setHealf(int healf) {
this.healf = healf;
}
public void setDamage(int damage) {
this.damage = damage;
}
public void setArmor(int armor) {
this.armor = armor;
}
public void setRangeAtack(int rangeAtack) {
this.rangeAtack = rangeAtack;
}
}
public class Medic extends Solder {
public Medic(String name, int healf, int damage, int armor, int rangeAtack) {
super(name, healf, damage, armor, rangeAtack);
}
void Healing()
{
}
}
public class Sniper extends Solder{
public Sniper(String name, int healf, int damage, int armor, int rangeAtack) {
super(name, healf, damage, armor, rangeAtack);
}
public void SniperFier() {
}
}
public class Main {
public static void main(String[] args) {
Sniper sniper = new Sniper("Снайпер", 100, 300, 10, 100);
Medic medic = new Medic("Медик", 350, 10, 20, 1);
ArrayList<Solder>solders =new ArrayList<>();
solders.add(medic);
solders.add(sniper);
solders.get(0). // вот здесь нет доступа
}