是什么让这行代码执行?
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
.
之前执行
是什么让这行代码执行的?
代码给出了 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
.