class TestClass{
public static void main(String[] args) {
int i=2/3;
System.out.println(i);
}
static{
int i=12;
System.out.println(i+100);
}
}
Почему используется static без имени метода?. Есть ли какое-то название этому явлению? И почему сначала выводится 112, а потом 0?
Здравствуйте, данное явление называется статическим блоком. Код статического блока выполняется только один раз: при первом создании объекта класса или при первом обращении к статическим членам этого класса. Получается, когда Вы обращаетесь к процедуре main, автоматически выполняется статический блок, так как все переменные инициализируются перед вызовом любого метода. Благодаря этому порядку инициализации статический блок выполняется первым.