• Зачем при иницализации static переменных, требующих вычисления, требуется static блок?

    EugeneP2
    @EugeneP2
    Java Dev
    Ну это у вас просто арифметические операции. А если нужно произвести более сложную инициализацию статического поля? Например с вызовом метода, который бросает исключение? Тогда это делается в статическом блоке.

    Но лучше так не делать. Сложную инициализацию лучше выносить в отдельных приватный стат метод и его уже присваивать переменной.

    static int a = intA();

    private static int initA() {
    ...
    }
    Ответ написан
    Комментировать