在Java中使用大括号的奇怪行为
当我运行以下代码时:
public class Test {
Test(){
System.out.println("1");
}
{
System.out.println("2");
}
static {
System.out.println("3");
}
public static void main(String args[]) {
new Test();
}
}
我希望按以下顺序获取输出:
1
2
3
但我得到的是相反的顺序:
3
2
1
谁能解释为什么它以相反的顺序输出?
================
另外,当我创建多个实例时:Test
new Test();
new Test();
new Test();
new Test();
静态块仅在第一时间执行。