Я наткнулся на этот код Java:
static {
String aux = "value";
try {
// some code here
} catch (Exception e) { }
String UUID_prefix = aux + ":";
}
Я новичок в Java, объясните, пожалуйста, что здесь происходит.
Этот синтаксис был устаревшим с Java 7. Теперь эквивалент:
public static void main(String[] args) {
/*
stuff
*/
}
Суфьян,
Статические инициализаторы не наследуются и выполняются только один раз, когда класс загружается и инициализируется JRE. Это означает, что этот статический блок будет инициализирован только один раз, независимо от того, сколько объектов вы создали из этого класса.
Я не большой поклонник этого, и я уверен, что есть лучшие альтернативы для него в зависимости от ситуации.
Спасибо, красные