veröffentlicht am: 17.06.2022 zuletzt aktualisiert am: 06.02.2023
Das Java final Schlüsselwort ist ein sogenannter non-access modifier, welcher zur Initialisierung einer Variable, zur Erstellung einer Klasse oder einer Methode verwendet wird. Es schränkt den Zugriff auf die Variable, die Methode oder die Klasse ein. Es ist nicht möglich, den Wert einer finalen Variablen zu ändern, die finale Klasse zu erweitern oder eine finale Methode außer Kraft zu setzen.
Die finale Klasse, die finale Methode und die finalen Variablen (engl. Variables) werden geschaffen, um einen Missbrauch dieser Instanzen im Code zu vermeiden. Dieser Artikel bietet einen detaillierten Überblick über das Keyword Java final mit den folgenden Lernzielen:
Wie bereits erwähnt, erzeugt das Schlüsselwort final einen bestimmten Typ von Variablen, Klassen oder Methoden. In diesem Abschnitt werden verschiedene Beispiele aufgeführt, um die Verwendung von Java final zu veranschaulichen.
Eine final-Variable kann verwendet werden, wenn die Variable besonders wichtig ist und die Änderung ihres Wertes ihre Bedeutung im Programm verändern kann. Der folgende Java-Code initialisiert eine final-Variable in Java und demonstriert den Zweck der final-Variable.
final int meinAlter = 24; // Den Wert der final-Variable ändern meinAlter = 25;
In dem obigen Code ist die Variable meinAlter als final deklariert.
Ausgabe auf der Konsole:
Wenn das Programm ausgeführt wird, gibt der Compiler ebenfalls einen Fehler aus, wie in der obigen Abbildung zu sehen ist, da wir versuchen den Wert der finalen Variable meinAlter zu verändern.
Java erfordert die Initialisierung von Variablen, bevor sie verwendet werden. Eine leere final-Variable wird nur deklariert und man muss sie in einem Klassenkonstruktor initialisieren. Hier deklarieren wir eine finale Variable und initialisieren sie in einem Java Konstruktor mit folgendem Code.
class FinalKlassenbeispiel { final String willkommensNachricht; FinalKlassenbeispiel() { willkommensNachricht = "Willkommen zu codegree!"; } public static void main(String[] args) { FinalKlassenbeispiel meinCoolesObjekt = new FinalKlassenbeispiel(); System.out.println(meinCoolesObjekt.willkommensNachricht); } }
Im obigen Code,
Die Ausgabe zeigt, dass der Wert der finalen Variable auf der Konsole ausgegeben wurde.
Der Zweck der finalen Methode besteht darin, einen Missbrauch der Methode zu vermeiden, da die Möglichkeit besteht, dass die Methode in der untergeordneten Klasse eine andere Bedeutung haben kann.
Schauen wir uns nun einige Beispiele an. Wir können finale Methoden folgendermaßen erstellen:
class Grossmutter { // Die finale Methode public final void werBinIch() { System.out.println("Ich bin die Grossmutter"); } } class Mutter extends Grossmutter { // Wie versuchen die finale Methode zu überschreiben public final void werBinIch() { System.out.println("Ich bin die Mutter"); } } class Enkelkind { public static void main(String[] args) { Mutter meineMutter = new Mutter(); Mutter.werBinIch(); } }
Wenn das Programm ausgeführt wird, zeigt es außerdem den Fehler an, der im obigen Bild zu sehen ist.
Eine Klasse wird in der Regel so implementiert, dass die Variablen (also das einzelne Attribut / die Attribute) oder Methoden auch in der Unterklasse / Kinderklasse verwendet werden können. Man kann die Klasse jedoch einschränken, indem man das Schlüsselwort final verwendet. Eine finale Klasse wird deklariert, wenn man dieser Klasse nicht erlaubt, ihre Eigenschaften auf eine andere Klasse zu erweitern. Das Konzept von finalen Klassen widerspricht dem Muster der Objektorientierten Programmierung, da weder die Methoden noch die enthaltenen Attribute der Klasse von Unterklassen überschrieben werden kann.
Der unten stehende Java-Code wird zur Erstellung einer finalen Klasse verwendet.
final class FinaleKlasse { public void unsereNachricht() { System.out.println("Eine Methode innerhalb der final-Klasse"); } } class ZweiteKlasse extends FinaleKlasse { public void unsereNachricht() { System.out.println("Die Methode ist in der Unterklasse!"); } } public class Main { public static void main(String[] args) { ZweiteKlasse meineZweiteKlasse = new ZweiteKlasse(); meineZweiteKlasse.unsereNachricht(); } }
Wenn das Programm ausgeführt wird, wird ein Fehler auf der Konsole ausgegeben.
Das final-Schlüsselwort kann verwendet werden, um eine Variable, eine Klasse oder eine Methode zu erstellen. Das Schlüsselwort final schränkt dabei die Verwendung von Variablen, Klassen und Methoden ein. Dieser Artikel bietet einen tiefen Einblick in das Schlüsselwort final in Java. Außerdem haben wir anhand von Beispielen gezeigt, wie das Schlüsselwort final zur Initialisierung von Variablen, Methoden und Klassen verwendet werden kann. Wenn du mehr über Java lernen möchtest, schau dir unser großes Tutorial zu diesem Thema an!
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Java und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig