Страницы

Поиск по вопросам

воскресенье, 9 февраля 2020 г.

Константа static + final, или только final?

#java #static #final


Чтобы создать константу в Java, нужно пометить переменную сразу двумя модификаторами:
static и final. Прочитал это в книге, а если просто переменную final помечаю, тогда
у меня что не константа получается?
    


Ответы

Ответ 1



final достаточно для создания константы. static используется для того, чтобы хранить константу в памяти один раз, а не столько раз, сколько создано экземпляров класса (см. выши предыдущие вопросы).

Ответ 2



Ключевое слово - final заставляет вас проинициализировать переменную сразу же, или в конструкторе, так же для переменных примитивного типа это означает, что однажды присвоенное значение не может быть изменено, и да, ключевое слово final определяет константу, ивозможно у Вас появится вопрос как final работает не с примитивами, так вот, final запрещает переопределять метод, и наследоваться от класса. При использовании final на ссылочном типе данных константой является ссылка, а не сам объект. Неизменяемость или Immutable объекта достигается за счет удаление методов модификации данных.

Комментариев нет:

Отправить комментарий