Рубрики

Присвоение значений статическим конечным переменным в Java

Присвоение значений статическим конечным переменным в Java:
В Java нестатическим конечным переменным может быть присвоено значение либо в конструкторе, либо с помощью объявления. Но статическим конечным переменным нельзя присвоить значение в конструкторе; им должно быть присвоено значение с их объявлением.

Например, следующая программа работает нормально.

class Test {

  

    // мне можно присвоить значение здесь

    // или конструктор или блок инициализации тоже.

    final int i;

    Test()

    {

        i = 10;

    }

  

    // другие вещи в классе

}

Если мы сделаем i как static final, то мы должны присвоить значение i с помощью delcaration.

class Test {

  

    // Так как я статический финал,

    // здесь должно быть присвоено значение

    // или внутри статического блока.

    static final int i;

    static

    {

        i = 10;

    }

  

    // другие вещи в классе

}

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

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Присвоение значений статическим конечным переменным в Java

0.00 (0%) 0 votes