Пример финального ключевого слова Java

Пример ключевого слова Java Final

Ключевое слово Final в Java - это модификатор, используемый для ограничения выполнения пользователем нежелательного кода или предотвращения изменения кода или значения. Это ключевое слово можно использовать в трех контекстах. Они есть:

  1. Последнее ключевое слово как модификатор переменной

  2. Конечное ключевое слово как модификатор метода

  3. Последнее ключевое слово как модификатор класса

Каждый контекст имеет свое значение и подразумевает ограничения. Они подробно обсуждаются ниже.

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 пытается переопределить методfinaltestCode()

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