У меня есть вопрос о подклассах и суперклассах. В проекте, над которым я работаю, у меня есть суперкласс под названием «Team» и некоторые подклассы под названием «TeamBlue», «TeamRed» ... Кроме того, у всех этих подклассов есть статические поля и методы.
Мой вопрос: как мне сохранить любой объект подкласса (TeamBlue или TeamRed) в объекте «Team»? если это имеет смысл.
вот пример того, чего я пытаюсь достичь:
Team team = новый BlueTeam (); <- сохранение любой цветовой команды в «командном» объекте </p>
это короткая версия кода, который у меня есть:
class Team {
//empty class used for binding all the team classes
}
class BlueTeam extends Team {
public static List<String> players = new ArrayList<String>();
}
class PlayerData {
Team playerTeam;
public PlayerData(Team tm){
playerTeam = tm;
}
playerTeam.players // I want to access any subclass that is stored into this "myTeam" object and access its players list
}
class createData {
List<PlayerData> data = new ArrayList<PlayerData>();
// this is what I've tried but I get a null exception
Team team = new BlueTeam();
data.add(new PlayerData(team));
}