静态块和静态初始化函数之间定义的执行顺序是什么?这是他们在班级定义中的顺序吗?
例如:
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保证的吗? 我已经看过类似的问题,但没有一个问题包含答案。