Как статическая переменная доступна до объявления?

public class Main {

    static int x = Main.y;
//  static int x = y; //Not allowed; y is not defined
    static int y = x;
    public static void main(String[] args) {
        System.out.println(x);//prints 0
    }
}

Почему мне разрешено использовать y через класс, но не напрямую?

Когда y определено?

5
задан Sabbir Ahmed 28 February 2019 в 14:11
поделиться