я запутался о коде приведенном ниже, где Player
является abstract
класс:Java: объект абстрактного класса
private void cbxTeamAItemStateChanged(java.awt.event.ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.SELECTED) {
Player p = (Player) evt.getItem();
if(P.getTipo().contains("Defense")){
lblDefense1.setText("Skill:");
}
}
}
Если в Java I не создать Object
из в abstract
класса, почему это работает?
Не является ли эта строка экземпляром Player
?
Player p = (Player) evt.getItem();
Ow! Понял! Это было бы так же Player P = new Defense()? (в моем случае Defense extends Player) – Mucida
@Mucida: да, похоже на это. –
Но почему я должен использовать его для (Player), а не только: Player p = evt.getItem()? – Mucida