Что такое статические блоки в Java

Cto Takoe Staticeskie Bloki V Java



При программировании на Java может возникнуть потребность в написании набора кодов, которые программист должен выполнить во время загрузки класса в память. Например, подсказка пользователю с некоторым сообщением перед применяемыми функциями в основном или определение приоритета жизненно важной функции путем ее отделения. В таких случаях статические блоки в Java помогают оптимизировать и управлять функциями на стороне разработчика.

Этот блог иллюстрирует использование статических блоков в Java.

Что такое «статические блоки» в Java?

Блок выделяется как « статический », связав с ним статическое ключевое слово. Эти блоки имеют более высокий приоритет, чем « основной ', чтобы они выполнялись до ' основной() метод.







Синтаксис



классMain {
статический {
Система . вне . печать ( 'Привет, мир' ) ;
} }

В приведенном выше синтаксисе включенный блок назначается как « статический ” и будет вызываться перед main.



Важные соображения относительно «статических блоков»

  • Статические блоки в Java вызываются автоматически при загрузке класса в память.
  • Они выполняются только один раз, даже если создано несколько объектов класса.
  • Нет ограничения/ограничения на количество статических блоков инициализации внутри класса.
  • Эти блоки также можно использовать для инициализации статических переменных.

Пример 1: Использование «статических блоков» в Java

В этом примере статический блок можно использовать для наблюдения за последовательностью, в которой он может выполняться по отношению к основному:





Пример публичного класса {
статический {
Система . вне . печать ( 'Это статический блок!' ) ;
}
publicstaticvoidmain ( Нить [ ] аргументы ) {
Система . вне . печать ( 'Это главное!' ) ;
} }

В приведенном выше блоке кода просто включите « статический » заблокировать накопление заявленного сообщения и на следующем шаге отобразить данное сообщение в « основной ».

Выход



В этом выводе можно проанализировать, что статический блок вызывается перед основным.

Пример 2: выполнение статического значения в «статическом блоке» в Java

На этом конкретном рисунке статическое значение может быть инициализировано в статическом блоке, а затем отображено в основном:

класспользовательский {
статический я ;
статический {
я '=' 10 ;
Система . вне . печать ( 'Статическая блокировка вызвана!' ) ;
} }
Пример публичного класса {
publicstaticvoidmain ( Нить [ ] аргументы ) {
Система . вне . печать ( обычай. я ) ;
} }

В приведенных выше строках кода:

  • Прежде всего, создайте класс с именем « обычай ».
  • Внутри класса укажите « статический ” и инициализируйте ее в выделенном “ статический ' блокировать.
  • Наконец, вызовите инициализированную переменную в main, обратившись к классу, в котором она содержится.

Выход

В приведенном выше результате видно, что аналогично « статический » выполняется первым, при этом также отображается инициализированное значение в этом блоке соответственно.

Пример 3: выполнение «статического блока» перед конструктором

В этом примере статический блок может быть указан перед конструктором, и соответственно можно наблюдать его приоритет и выполнение:

класспользовательский {
статический {
Система . вне . печать ( «Это статический блок» ) ;
}
обычай ( ) {
Система . вне . печать ( «Это конструктор» ) ;
} }
Пример публичного класса {
publicstaticvoidmain ( Нить [ ] аргументы ) {
пользовательский объект obj1 '=' новый обычай ( ) ;
пользовательский объект2 '=' новый обычай ( ) ;
} }

В приведенных выше строках кода:

  • Аналогичным образом определите класс с именем « обычай ».
  • Теперь укажите « статический » и включить конструктор класса, т. е. « обычай() ” имея указанные сообщения, соответственно.
  • В основном создайте два объекта созданного класса, чтобы вызывать функции класса в порядке приоритета соответственно.

Выход

В этом выводе могут быть выполнены следующие соображения:

  • Статический блок имеет более высокий приоритет по сравнению с содержащимся конструктором.
  • Создаются два объекта класса, но статический блок выполняется один раз, как обсуждалось ранее.

Заключение

статические блоки » в Java выполняются только один раз, когда класс загружается в память, и выполняются до « основной() метод. Приведенные в статье примеры доказывают, что эти блоки имеют более высокий приоритет, чем основной и конструктор класса соответственно, и вызываются только один раз, вне зависимости от количества создаваемых объектов. В этом блоге обсуждалось использование статических блоков в Java.