// заказ на выполнение: (приоритет от высокого до низкого.)
Статический кодовый блок> Метод MIAN> Построить блок кода> Метод построения.
Статический кодовый блок выполняется только один раз. Созданный блок кода выполняется каждый раз, когда создается объект.
1. Обычные блоки кода
public static void main (string [] args) {/ * обычный кодовый блок: * непосредственно определено в методе или операторе "{Обычный оператор выполнения кода}" Появится в методе или операторе, он называется обычным блоком кода. *Порядок выполнения обычных кодовых блоков определяется порядок, в котором они появляются в коде - «Сначала появиться сначала» */{System.out.println («Здесь обычный код блок A»);} // new a (); {System.out.println («Вот обычный код B»);}}}}}}}}}}}}}}}} Результат выполнения: вот нормальный кодовый блок a
Вот нормальный кодовый блок B
2. Статические кодовые блоки и блоки конструкции кода
Блоки кода объявлены с использованием статического ключевого слова в Java.
Он часто используется для инициализации классов. Каждый статический кодовый блок будет выполняться только один раз (класс выполняется при загрузке в памяти, а класс уже существует после того, как класс загружен в память). Поскольку JVM будет выполнять статические кодовые блоки при загрузке класса, статический кодовый блок будет выполнен до основного метода. Если класс содержит несколько статических кодовых блоков, он сначала будет выполнен «определенный код сначала, а затем определенный код будет выполнен позже.
PS:
1 Статические блоки кода не могут существовать в каком -либо организме метода.
2 Статические блоки кода не могут напрямую получить доступ к переменным статическим экземплярам и методам экземпляра, и их необходимо получить через объект экземпляра класса.
Строительный блок: Кодовый блок, который непосредственно определяется в классе и не имеет статического ключевого слова, называется блок кода конструкции {}.
Блок кода конструктора вызывается при создании объекта, и каждый раз, когда объект создается, он вызывается, и порядок выполнения блока кода конструктора имеет приоритет над конструктором класса.
открытый класс структура {{System.out.println («Вот обычный кодовый блок»); // Существует конструктор по умолчанию во всех классах. Кодовый блок здесь представляет собой блок кода конструктора, который выполняется при создании объекта в классе} public static void main (string [] args) {/ * обычный блок кода: * непосредственно определяется в методе или операторе «{оператор выполнения обычного кода}» появляется в методе или операторе, он называется обычным кодовым блоком. *Порядок выполнения обычных кодовых блоков определяется порядок, в котором они появляются в коде - «сначала появиться сначала» */{System.out.println («Здесь обычный кодовый блок A» B ");}} static {System.out.println (" Здесь статический кодовый блок ");}} Результаты исполнения:
Вот статический блок кода // ПРЕДПРЕЧАНИЕ К Основной функции здесь - обычный кодовый блок a
Вот нормальный кодовый блок // объект в классе выполняется при его создании. Каждый раз, когда он создается, добавляется новая структура (); Результат исполнения:
Вот нормальный кодовый блок B
3. Резюме
Общедоступная структура класса {{System.out.println («Вот обычный кодовый блок»);} public static void main (string [] args) {{System.out.println («Вот нормальный кодовый блок a» a);} // new Structure (); // Новая структура (); new a (); {System.out. B ");}} static {System.out.println (" Здесь есть статический кодовый блок ");}} class a {static {System.out.println (" Здесь нормальный статический кодовый блок 1 в ");} {System.out.println (" Вот нормальный код 1 в ");} {System.out. A ");}} Результаты исполнения:
Вот статический блок кода, вот обычный кодовый блок a
Вот нормальный статический кодовый блок 1 в
Вот нормальный кодовый блок 1 в
Вот нормальный кодовый блок 2 в
Вот нормальный кодовый блок B
Резюме приоритета: Статический кодовый блок> main ()> Construct Code Block