在通常声明/定义实例变量的Java类中,我想将a ArrayList作为实例变量之一,并使用一些元素作为开始对其进行初始化。一种实现方法是声明ArrayList并在构造函数中对其进行初始化。但是,我想知道为什么在构造函数外部初始化值是非法的。例如,
public class Test {
// some instance variables...
private ArrayList<String> list = new ArrayList<String>();
list.add("asdf");
// methods here...
}
Run Code Online (Sandbox Code Playgroud)
所以我知道这是非法的。但是为什么这是非法的呢?