Каковы final переменные в Java?
Конечным ключевым словом является зарезервированное ключевое слово в Java для ограничения пользователя и его можно применять к переменным-членам, методам, классам и локальным переменным. Конечное ключевое слово указывает, что переменная может быть инициализирована только один раз. Это означает, что компилятор гарантирует, что вы можете сделать это только один раз.
Ключевое слово Java final можно использовать в различных контекстах:
- final variable - переменная, объявленная как final, предотвращает изменение содержимого этой переменной.
- final method. Метод, объявленный как final, предотвращает пользователь от переопределения этого метода
- final class - класс, объявленный как final, не может быть расширен, таким образом предотвращает наследование
Последнее ключевое слово применительно к переменной внутри класса означает, что переменная может быть инициализирована только один раз, и ее ссылка не может быть изменена после ее назначения. Для ссылок на объекты окончательный гарантирует, что ссылка никогда не изменится, а это означает, что она всегда будет ссылаться на один и тот же объект. Он не дает никаких гарантий относительно значений внутри объекта, на который ссылается, оставаться неизменным.
Пример
final class TestClass{ // этот класс не может быть подклассом / расширенным final double pie=3.14;// эта переменная может быть инициализирована только один раз private final Integer testMethod(final String input){ // этот метод нельзя переопределить return 0; } }