Урок Java 159: Статическая инициализация
Java. Для чего в Java используются статические блоки инициализации?
Статические блоки инициализации в Java используются для инициализации статических переменных или для выполнения других статических действий в момент загрузки класса в память. Эти блоки инициализации выполняются один раз, когда класс загружается в первый раз, и только один раз, при этом они обычно предназначены для выполнения каких-либо задач, которые не могут быть выполнены в статическом контексте или требуют инициализации статических переменных. Например, в статическом блоке инициализации можно установить значение для статической переменной, которая зависит от среды выполнения...
Java. Каков порядок вызова конструкторов и блоков инициализации с учётом иерархии классов?
В Java порядок вызова конструкторов и блоков инициализации в классе и его иерархии определяется следующим образом: Parent static block(s) → Child static block(s) → Grandchild static block(s) → Parent non-static block(s) → Parent constructor → → Child non-static block(s) → Child constructor → → Grandchild non-static block(s) → Grandchild constructor Например, рассмотрим следующий код: class Base {
static {
System.out.println("Статический блок инициализации базового класса");
}
Base() {
System...