Можно создать дубликат:
Returning in a static initializerВозвращение из статического инициализатора
Есть ли способ, чтобы выйти из статического Инициализатора в Java, что-то вроде кода ниже (который не компилируется):
public class Test {
private static int i = 1;
static {
if (i == 0) {
return; // DOESN'T COMPILE
}
i = 0;
}
}
пс: да, я знаю, пример не имеет смысла, i == 0
всегда будет быть ложным на данный момент, но это не главное!
использовать 'System.exit (0)' вместо этого. –
@ Eng.Fouad Я не хочу выходить, просто продолжайте остальную часть кода - дубликаты ответов, почему это невозможно, спасибо. – assylias
Итак, используйте метку на блоке экземпляра и сломайте эту метку. 'static {label: {if (i == 0) break label; i = 0}} ' –