Что выведется на экран при выполнении следующего кода?

public class GoodbyeWorld {    
    public static void main(String[] args) {
        System.out.print(A.i);
        System.out.print(B.i);
    }
}

class A {
    static {
        i = 2;
    }
    static int i = 1;
};

class B {
    static int i = 1;
    static {
        i = 2;
    }
};
Explanation
Инициализация всех статических полей и блоки статической инициализации выполняются друг за другом, в том порядке, в котором они записаны.
Поэтому в классе A поле i будет иметь значение 1, а в классе B — 2.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты