静态块和静态初始化函数之间定义的执行顺序是什么?这是他们在类定义中的顺序吗?
例如:
public class Test {
static {System.out.println("1"); }
static int x = getX(); static int getX() { System.out.println("2"); return 5; }
static { System.out.println("3"); }
}
在我的系统上打印 1,2,3。这是由 Java 保证的吗?我见过类似的问题,但没有一个包含这个答案的问题。