public class Main {
static final int alex=getc();
static final int alex1=Integer.parseInt("10");
static final int alex2=getc();
public static int getc(){
return alex1;
}
public static void main(String[] args) {
final Main m = new Main();
System.out.println(alex+" "+alex1 +" "+alex2);
}
}
Кто-нибудь может сказать мне, почему это печатает: 0 10 10
? Я понимаю, что это статическая конечная переменная, и ее значение не должно изменяться, но немного сложно понять, как компилятор инициализирует поля.