是什么让这行代码执行?

What makes this line of code execute?

是什么让这行代码执行的?

代码给出了 11 的输出,但我期待 它是 1

package methodcalling;

public class MethodCalling {

public static int cakes = 1;
public final static int UNIT = 10;
static{cakes += UNIT;}      // what makes this line of code execute

public static void main(String[] args) {
    System.out.println(cakes);
}
}

静态块在 class 加载时执行(即在初始化静态变量后立即执行)。因此 cakes += UNIT;main.

之前执行