Junior
Was bedeutet das Schlüsselwort 'final' in der Programmiersprache Java?
sobes.tech KI
Antwort von AI
Das Schlüsselwort final in Java wird verwendet, um anzugeben, dass eine Variable, Methode oder Klasse nicht geändert werden kann.
-
finalVariable:- Einer als
finaldeklarierten Variablen kann nur einmal ein Wert zugewiesen werden. Nach der Zuweisung kann sie nicht mehr geändert werden. - Für primitive Datentypen ist der Wert einer
finalVariablen eine Konstante. - Für Referenztypen bedeutet
final, dass die Referenz auf das Objekt nicht geändert werden kann, aber der Zustand des Objekts (seine Felder) kann geändert werden (sofern die Felder des Objekts nicht ebenfallsfinalsind).
final int MAX_VALUE = 100; // finale primitive Variable final List<String> names = new ArrayList<>(); // finale Referenzvariable names.add("Alice"); // OK // names = new ArrayList<>(); // Kompilierungsfehler - Referenz kann nicht neu zugewiesen werden - Einer als
-
finalMethode:- Eine als
finaldeklarierte Methode kann in Unterklassen nicht überschrieben werden. - Dies wird verwendet, um unerwünschte Änderungen des Verhaltens in der Vererzungshierarchie zu verhindern.
class Parent { final void display() { System.out.println("Dies ist eine finale Methode."); } } class Child extends Parent { // @Override void display() { } // Kompilierungsfehler - finale Methode kann nicht überschrieben werden } - Eine als
-
finalKlasse:- Eine als
finaldeklarierte Klasse kann keine Unterklassen haben (kann nicht vererbt werden). - Dies wird verwendet, um die Unveränderlichkeit der Klasse zu gewährleisten und die Erweiterung ihrer Funktionalität zu verhindern.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Kompilierungsfehler - kann nicht von einer finalen Klasse erben - Eine als