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

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
Зареєструйся Зараз
або Підпишись на майбутні тести