可能是一个愚蠢的问题,但是当程序运行时,静态变量何时被初始化(因此占用内存)?
public class TestStaicInitilization {
int i;
public static final TestStaicInitilization test = new TestStaicInitilization();
TestStaicInitilization(){
this.i = 10;
}
public static void main(String[] args) {
System.out.println(TestStaicInitilization.test.i);
}
}
输出为:10
TestStaicInitilization.test
在加载类本身时或首次访问时是否已初始化?