Java - Schlüsselwortbeispiel

Java Final Keyword-Beispiel

Das letzte Schlüsselwort in Java ist ein Modifikator, mit dem der Benutzer daran gehindert wird, unerwünschten Code auszuführen oder zu verhindern, dass der Code oder Wert geändert wird. Es ist möglich, dieses Schlüsselwort in 3 Kontexten zu verwenden. Sie sind:

  1. Endgültiges Schlüsselwort als variabler Modifikator

  2. Endgültiges Schlüsselwort als Methodenmodifikator

  3. Letztes Schlüsselwort als Klassenmodifikator

Jeder Kontext hat seine eigene Bedeutung und implizite Einschränkungen. Sie werden nachstehend ausführlich erörtert.

1. Schlüsselwort FINAL als Variablenmodifikator

Jeder Kontext hat seinen eigenen Zweck. final dient bei Verwendung mit einer Variablen speziell dazu, den Benutzer daran zu hindern, den Wert an einer anderen Stelle im Code zu ändern. Die Variable einerfinal-Variable kann nach ihrer Initialisierung nicht mehr geändert werden.

Wenn die Variablefinal nur deklariert, aber nicht initialisiert wird, kann der Variablenfinal im gesamten Code einmal ein Wert zugewiesen werden. Jede Änderung des Werts der Variablenfinalmehr als einmal führt zu einem Kompilierungsfehler.

Der folgende Code gibt beispielsweise einen Kompilierungszeitfehler aus, wenn versucht wird, zu kompilieren.

FinalVariableExample.java

package com.techfou;
public class FinalVariableExample {

    final int count = 0;

    public FinalVariableExample() {
        count++; //The final field FinalVariableExample.count cannot be assigned
    }

}

Ausgabe

Output: Compile Time error

2. Schlüsselwort FINAL als Methodenmodifikator

final verhindert bei Verwendung mit method, dass die erbende Klasse die Methodendefinition überschreibt. Das folgende Beispiel gibt beispielsweise einen Fehler bei der Kompilierung an, da die KlasseFinalMethodChildversucht, die MethodefinaltestCode() zu überschreiben

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");
    }

}

Ausgabe

Output: Compile Time error

3. Schlüsselwort FINAL als Klassenmodifikator

final verhindert bei Verwendung für eine Klasse als Modifikator, dass die Klasse von einer anderen Klasse erweitert oder geerbt wird. Wenn Sie beispielsweise versuchen, den folgenden Code zu kompilieren, wird ein Fehler bei der Kompilierung angezeigt, da die KlasseFinalClassParent eine endgültige Klasse ist, die nicht weiter erweitert werden kann.

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");
    }

}

Ausgabe

Output: Compile Time error