Этот блог иллюстрирует использование статических блоков в Java.
Что такое «статические блоки» в Java?
Блок выделяется как « статический », связав с ним статическое ключевое слово. Эти блоки имеют более высокий приоритет, чем « основной ', чтобы они выполнялись до ' основной() метод.
Синтаксис
классMain {
статический {
Система . вне . печать ( 'Привет, мир' ) ;
} }
В приведенном выше синтаксисе включенный блок назначается как « статический ” и будет вызываться перед main.
Важные соображения относительно «статических блоков»
- Статические блоки в Java вызываются автоматически при загрузке класса в память.
- Они выполняются только один раз, даже если создано несколько объектов класса.
- Нет ограничения/ограничения на количество статических блоков инициализации внутри класса.
- Эти блоки также можно использовать для инициализации статических переменных.
Пример 1: Использование «статических блоков» в Java
В этом примере статический блок можно использовать для наблюдения за последовательностью, в которой он может выполняться по отношению к основному:
Пример публичного класса {
статический {
Система . вне . печать ( 'Это статический блок!' ) ;
}
publicstaticvoidmain ( Нить [ ] аргументы ) {
Система . вне . печать ( 'Это главное!' ) ;
} }
В приведенном выше блоке кода просто включите « статический » заблокировать накопление заявленного сообщения и на следующем шаге отобразить данное сообщение в « основной ».
Выход
В этом выводе можно проанализировать, что статический блок вызывается перед основным.
Пример 2: выполнение статического значения в «статическом блоке» в Java
На этом конкретном рисунке статическое значение может быть инициализировано в статическом блоке, а затем отображено в основном:
класспользовательский {статический я ;
статический {
я '=' 10 ;
Система . вне . печать ( 'Статическая блокировка вызвана!' ) ;
} }
Пример публичного класса {
publicstaticvoidmain ( Нить [ ] аргументы ) {
Система . вне . печать ( обычай. я ) ;
} }
В приведенных выше строках кода:
- Прежде всего, создайте класс с именем « обычай ».
- Внутри класса укажите « статический ” и инициализируйте ее в выделенном “ статический ' блокировать.
- Наконец, вызовите инициализированную переменную в main, обратившись к классу, в котором она содержится.
Выход
В приведенном выше результате видно, что аналогично « статический » выполняется первым, при этом также отображается инициализированное значение в этом блоке соответственно.
Пример 3: выполнение «статического блока» перед конструктором
В этом примере статический блок может быть указан перед конструктором, и соответственно можно наблюдать его приоритет и выполнение:
класспользовательский {статический {
Система . вне . печать ( «Это статический блок» ) ;
}
обычай ( ) {
Система . вне . печать ( «Это конструктор» ) ;
} }
Пример публичного класса {
publicstaticvoidmain ( Нить [ ] аргументы ) {
пользовательский объект obj1 '=' новый обычай ( ) ;
пользовательский объект2 '=' новый обычай ( ) ;
} }
В приведенных выше строках кода:
- Аналогичным образом определите класс с именем « обычай ».
- Теперь укажите « статический » и включить конструктор класса, т. е. « обычай() ” имея указанные сообщения, соответственно.
- В основном создайте два объекта созданного класса, чтобы вызывать функции класса в порядке приоритета соответственно.
Выход
В этом выводе могут быть выполнены следующие соображения:
- Статический блок имеет более высокий приоритет по сравнению с содержащимся конструктором.
- Создаются два объекта класса, но статический блок выполняется один раз, как обсуждалось ранее.
Заключение
“ статические блоки » в Java выполняются только один раз, когда класс загружается в память, и выполняются до « основной() метод. Приведенные в статье примеры доказывают, что эти блоки имеют более высокий приоритет, чем основной и конструктор класса соответственно, и вызываются только один раз, вне зависимости от количества создаваемых объектов. В этом блоге обсуждалось использование статических блоков в Java.