2014-02-16 3 views
0

В классе Java, в какой точке вызывается статический цикл? и как часто он ссылается? им только знакомы с вызовом метода иКогда статический цикл называется?

Я видел его на этом поистине отличный ответ на Euler Q14, делал Java в году, но это первый раз, когда Я видел это здесь:

stackoverflowquestion

static { 
for (int i = 10; i < cache.length; i *= 2) 
    collatzNum(i - 1); 
     } 
+0

Это не «статический цикл», а статический блок, который только что содержит петлю. – Boann

ответ

2

Это называется статическим инициализационным блоком. Вы можете использовать его для инициализации статических переменных. Этот блок будет вызываться при загрузке класса.

FYI

Класс может иметь любое количество статических блоков инициализации, и они могут появляться в любом месте тела класса. Исполняющая система гарантирует , что статические блоки инициализации вызываются в порядке, что они появляются в исходном коде

Для получения более подробной информации, проверьте here

+0

Спасибо, я понятия не имел, что классы могут быть инициализированы таким образом –

0

статические блоки называются в той последовательности, в которой они объявлены, и они вызываются, когда класс загружается вашим jvm --- ClassLoader

Смежные вопросы