В результате выполнения данного кода:

class Super { static String ID = "QBANK"; }
class Sub extends Super{
  static { System.out.print("In Sub"); }
}
class Test{
  public static void main(String[] args) {
    System.out.println(Sub.ID);
  }
}
Explanation
Класс инициализируется в следующих случаях:
1. Когда вызывается метод, непосредственно находящийся в данном классе (а не наследующийся от суперкласса);
2. Когда вызывается конструктор данного класса, либо когда создается массив объектов данного класса;
3. Когда читается либо присваивается поле, которое не является константой;
В данном случае, ни одно из этих трех условий не выполнялось, таким образом, класс Sub не инициализировался.

Следи за CodeGalaxy

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

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