Что означает Static {} в синтаксисе Java?

Я наткнулся на этот код Java:

static {
    String aux = "value";
    try {
        // some code here
    } catch (Exception e) { }
    String UUID_prefix = aux + ":";
}

Я новичок в Java, объясните, пожалуйста, что здесь происходит.

26
задан Beth Whitezel 11 November 2011 в 07:50
поделиться

2 ответа

Этот синтаксис был устаревшим с Java 7. Теперь эквивалент:

public static void main(String[] args) {
    /*
      stuff
    */
}
1
ответ дан 28 November 2019 в 06:57
поделиться

Суфьян,

Статические инициализаторы не наследуются и выполняются только один раз, когда класс загружается и инициализируется JRE. Это означает, что этот статический блок будет инициализирован только один раз, независимо от того, сколько объектов вы создали из этого класса.

Я не большой поклонник этого, и я уверен, что есть лучшие альтернативы для него в зависимости от ситуации.

Спасибо, красные

3
ответ дан 28 November 2019 в 06:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: