Подтвердить что ты не робот

Java no name static method

Что это?

public class ABC {
   public ABC() {
         System.out.println("world");
   }
   static {
         System.out.println("hello");
   }
}

Будет напечатан: Здравствуйте мир

Я действительно не понимаю этого или какой метод статический код.

4b9b3361

Ответ 1

Он назвал "статический блок инициализации".

Он запускается, когда класс загружается первым; только один раз.

Например, конструктор будет запускаться каждый раз при создании экземпляра класса; статический блок запускается только один раз, когда он сначала загружается статически загрузчиком VM/Class.

Ответ 2

Я думаю, стоит отметить, что статический блок будет запускаться ровно один раз каждый раз, когда загрузчик классов загружает класс. Это означает, что если у вас более одного загрузчика классов, блок может выполняться более одного раза.