Пример ключевого слова Java Final
Ключевое слово Final в Java - это модификатор, используемый для ограничения выполнения пользователем нежелательного кода или предотвращения изменения кода или значения. Это ключевое слово можно использовать в трех контекстах. Они есть:
-
Последнее ключевое слово как модификатор переменной
-
Конечное ключевое слово как модификатор метода
-
Последнее ключевое слово как модификатор класса
Каждый контекст имеет свое значение и подразумевает ограничения. Они подробно обсуждаются ниже.
1. Ключевое слово FINAL как модификатор переменной
Каждый контекст имеет свое собственное назначение. final
, когда он используется с переменной, он специально предназначен для ограничения пользователя от изменения значения где-либо еще в коде. Переменнаяfinal
после инициализации не может быть изменена.
Если переменнаяfinal
только что объявлена, но не инициализирована, разрешается присвоить значение переменнойfinal
один раз на протяжении всего кода. Любое изменение значения переменнойfinal
более одного раза приведет к ошибке компиляции.
Например, приведенный ниже код выдаст ошибку времени компиляции при попытке компиляции.
FinalVariableExample.java
package com.techfou; public class FinalVariableExample { final int count = 0; public FinalVariableExample() { count++; //The final field FinalVariableExample.count cannot be assigned } }
Выход
Output: Compile Time error
2. Ключевое слово FINAL как модификатор метода
final
, когда используется с методом, он ограничивает наследующий класс от переопределения определения метода. Например, в приведенном ниже примере возникает ошибка времени компиляции, потому что классFinalMethodChild
пытается переопределить методfinal
testCode()
FinalMethodParent.java
package com.techfou; public class FinalMethodParent { final void testCode(){ System.out.println("This is a final method"); } } class FinalMethodChild extends FinalMethodParent{ //Cannot override the final method from FinalMethodParent void testCode(){ System.out.println("This is overriding method"); } }
Выход
Output: Compile Time error
3. Ключевое слово FINAL как модификатор класса
final
, когда он используется для класса в качестве модификатора, он ограничивает класс от расширения или наследования любым другим классом. Например, если вы попытаетесь скомпилировать приведенный ниже код, это приведет к ошибке времени компиляции, потому что классFinalClassParent
является последним классом, который не может быть расширен дальше.
FinalClassParent.java
package com.example; public final class FinalClassParent { final void testCode(){ System.out.println("This is a final method"); } } //The type FinalClassChild cannot subclass the final class FinalClassParent class FinalClassChild extends FinalClassParent{ void testCode(){ System.out.println("This is overriding method"); } }
Выход
Output: Compile Time error