[JAVA] Bedeutung von final

Klasse

Wenn die Klassendeklaration final ist, kann die Klasse nicht erweitert werden. (Unterklasse kann nicht erstellt werden)

Methode

Wenn final an die Deklaration der Instanzmethode angehängt ist, kann es in der Unterklasse nicht überschrieben werden.

Instanzfeld

Sie können einem letzten Feld nur einmal zuweisen. Es gibt zwei Möglichkeiten, einem endgültigen Instanzfeld zuzuweisen.

Schreiben Sie den Anfangswert, wenn Sie ein Feld deklarieren

class Qiita {
    final int value = 123;
}

Im Konstruktor zuweisen

class Qiita {
    final int value;

    public Qiita() {
        this.value = 123;
    }
}

Klassenfeld

Es gibt zwei Möglichkeiten, einem endgültigen Klassenfeld zuzuweisen.

Schreiben Sie den Anfangswert, wenn Sie ein Feld deklarieren

class Qiita {
    static final int value = 123;
}

Weisen Sie einem Feld in einem statischen Block zu

class Qiita {
    static final int value;

    static {
        value = 123;
    }
}

Variable

Kann nur einmal vergeben werden.

Streit

Kann nicht einmal zugewiesen werden. (Weil der Wert bereits beim Aufruf der Methode zugewiesen wurde)

Recommended Posts

Bedeutung von final
[Bedeutung des Modells: von form_with]
Bedeutung des Schreibens einer Importanweisung
12 von Array
letzter Modifikator
[Java] Verwendung von final in der lokalen Variablendeklaration
Initialisierungszeitpunkt der Mitgliedsvariablen mit endgültiger Angabe