我习惯了 C++,你必须在构造函数中实例化所有内容,但最近的一个认识让我对 java 感到非常困惑。我只是在构造函数中实例化一些东西,然后我意识到这个语法是有效的:
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>()
调用?第三:这是最佳实践吗?