Модификатор final в Java
Модификатор final - это способ, с помощью которого вы можете контролировать работу своей программы и ее составных частей. Это один из Ваших инструментов:
Суть модификатора final - сделать дальнейшее изменение объекта невозможным. С английского "final" можно перевести как "последний, окончательный":
Вы можете применять этот модификатор тремя способами: для класса, для поля (переменной) и для метода.
Final для полей
Если вы хотите, чтобы после инициализации никто не мог бы изменить вашу переменную, напишите слово "final":
1 2 3 4 5 6 7 8 9 10 |
public class Test { public static void main(String[] args) { final int I = 1; System.out.println(I); } } |
Или так:
1 2 3 4 5 6 7 8 9 10 |
public class Test { final int I = 1; public static void main(String[] args) { System.out.println(I); } } |
Теперь, изменить переменную нельзя. Если вы попробуете поменять значение, то получите ошибку:
Тем не менее, вы не должны сразу задавать значение переменной. Суть в том, что первое заданное значение меняться не будет. Например, такой код будет работать:
1 2 3 4 5 6 7 8 9 10 11 |
public class Test { public static void main(String[] args) { final int I; I = 10; System.out.println(I); } } |
Но этот не будет:
И этот тоже 🙂
*Обратите внимание: переменные с final - это константы. При этом их принято писать заглавными буквами - тут CamelStyle не работает :
Final для методов
К методам тоже можно применить модификатор final:
Это будет значить, что при наследовании данный метод нельзя переопределить:
Final для классов
Модификатор final может применяться к классам тоже. Это будет означать, что нельзя создать наследников этого класса:
Из-за того, что класс объявляется final, можно сказать, что все его методы тоже становятся final - их нельзя переопределить, как и в прошлом примере:
Вот, теперь Вы и сами можете применять модификатор final в своем коде!
Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля. Детальную информацию Вы можете найти у нас на сайте.