Я привык к C++, где вам нужно создать экземпляр всего в конструкторе, но недавняя реализация очень сильно смутила меня. Я просто инстанцирование вещи в строителю, а потом я понял, что этот синтаксис был действителен:Объявление переменных класса Member и их создание
public class DebateCompetition {
private boolean isAdvanced;
ArrayList<Debate> debates = new ArrayList<Debate>(); //<------
ArrayList<Team> teams;
ArrayList<School> schools;
public void addSchool(School s) {
schools.add(s);
}
}
Но что оставляет много вопросов. Во-первых: что он делает? Второе: когда new ArrayList<Debate>()
называется? В-третьих: Это лучшая практика или нет?
См. Http://stackoverflow.com/questions/4916735/default-constructor-vs-inline-field-initialization – flup