Я просто не понимаю следующий поток выполнения кода:
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
}
}
Предполагается напечатать S2
во втором выражении println
. Меня больше интересует, почему это происходит, а не решение.