Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen

Java final-Schlüsselwort

Erfahren Sie, wie Javas final-Schlüsselwort Konstanten schützt, Methoden-Überschreibung verhindert und Klassenvererbung blockiert – mit klaren Beispielen.

In Java signalisiert das final-Schlüsselwort, dass eine Entität – sei es eine Variable, Methode oder Klasse – nach ihrer initialen Definition nicht mehr verändert werden kann. Dieser unveränderliche Vertrag wird zur Kompilierzeit erzwungen und gibt Entwicklern Garantien über das Programmverhalten.


1. Final-Variablen

Wenn Sie eine Variable als final deklarieren, ist ihr Wert nach der ersten Zuweisung gesperrt. Dies ist der Standardweg, um Konstanten in Java zu definieren.

class Haupt { public static void main(String[] args) { // Final-Variable deklarieren final int ALTER = 32; // Die folgende Zeile würde einen Kompilierfehler verursachen // ALTER = 45; System.out.println("Alter: " + ALTER); } } 

Der Compiler verweigert die Kompilierung von Code, der versucht, ALTER neu zuzuweisen, mit einem Fehler wie:

cannot assign a value to final variable ALTER ALTER = 45; ^ 

Tipp: Nach Konvention werden Konstantennamen in Großbuchstaben mit Unterstrichen geschrieben (z. B. MAX_GROESSE), um ihre Unveränderlichkeit zu signalisieren.


2. Final-Methoden

Final-Methoden sind Teil von Javas Vererbungssicherheitsnetz. Wenn eine Methode als final markiert ist, kann keine Unterklasse sie überschreiben, was die ursprüngliche Implementierung bewahrt.

class FinalDemo { // Final-Methode public final void anzeigen() { System.out.println("Dies ist eine finale Methode."); } } class Haupt extends FinalDemo { // Versuch zu überschreiben – führt zu Kompilierfehler public final void anzeigen() { System.out.println("Die finale Methode wurde überschrieben."); } public static void main(String[] args) { Haupt obj = new Haupt(); obj.anzeigen(); } } 

Der Versuch, die anzeigen()-Methode zu überschreiben, erzeugt einen Fehler wie:

anzeigen() in Haupt cannot override anzeigen() in FinalDemo public final void anzeigen() { ^ overridden method is final 

3. Final-Klassen

Eine final Klasse kann nicht unterklas werden. Dies wird oft für sicherheitskritische oder unveränderliche Typen verwendet, um sicherzustellen, dass das Verhalten der Klasse unverändert bleibt.

// Final-Klasse Definition final class FinalKlasse { public void anzeigen() { System.out.println("Dies ist eine finale Klasse."); } } // Versuch, die finale Klasse zu erweitern class Haupt extends FinalKlasse { public void anzeigen() { System.out.println("Die finale Klasse wurde überschrieben."); } public static void main(String[] args) { Haupt obj = new Haupt(); obj.anzeigen(); } } 

Der Compiler weist diese Vererbung zurück mit:

cannot inherit from final FinalKlasse class Haupt extends FinalKlasse { ^ 

Java

  1. C# Static Keyword: Statische Variablen, Methoden und Klassen meistern
  2. Java instanceof-Operator: Ein umfassender Leitfaden
  3. Java-Vererbung meistern: Konzepte, Typen und praktische Beispiele
  4. Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
  5. Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
  6. Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
  7. Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
  8. Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
  9. Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen
  10. Java-Dateioperationen mit java.io meistern – Erstellen, Lesen, Schreiben & Löschen