Vorlesung Informatik 1 - Teil A: Java Kurs

2.2 Finale Klassen, Methoden und Variablen

Den Modifizierer final kann man auf Methoden, Klassen und Variablen anwenden. Er verhindert weitere Änderungen:

  • Wird eine Klasse final deklariert, kann sie nicht weiter vererbt werden, d.h. man kann sie nicht mehr als Basisklasse verwenden:
               public final class Ameise{
                              ...
    Besonders in größeren Teams hilft es, deutlich zu machen, dass die Klassenhierarchie hier endet. 
    Beispiele für final Klassen in der Java API: String, Integer, Double, ...

  • Eine Methode, die final deklariert wird, kann nicht mehr überschrieben werden. Das kann aus Sicherheitsgründen sein (z.B bei Netzwerk-Verbindungen, Passwörtern, ...) oder um zu verhindern, dass bestimmte Programmteile umgangen werden (z.B. StandardAnwendung.paintComponent, StandardAnwendung.paint).  

  • Eine Variable, die final deklariert ist, kann nicht mehr verändert werden, es ist eine Konstante.
    In Java gilt die Konvention, dass man final-Variablen nur mit Großbuchstabe schreibt:
    JOptionPane.ERROR_MSESSAGE,   Color.RED,  ...
    Es können sowohl Instanz- als auch lokale Variablen final deklariert werden.

  • Die Verwendung von final bringt mehr Sicherheit und Performance und schützt gegen versehentliches Überschreiben.

Weiterführende Links

Rheinwerk

Link
finale Klassen und Methoden in Java ist auch eine Insel

final Instanz- und Klassen-Variablen in Java ist auch eine Insel

final lokale Variablen in Java ist auch eine Insel

Lehrvideo  (YouTube)