我只是不理解以下代码的执行流程:
class Test {
static String s1 = getVal();
static String s2 = "S2";
private static String getVal() {
return s2;
}
public static void main(String args[]) {
System.out.println(s2); // prints S2
System.out.println(s1); // prints null
}
}
第二个println
语句应该打印S2
。我更感兴趣的是了解为什么会这样,而不是解决方案。