在Java中使用大括号的奇怪行为
- 论坛
- 在Java中使用大括号的奇怪行为
9 浏览
在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();
静态代码块只会在第一次执行时执行。