Hauptunterschied – statisch vs. final in Java
Jede Programmiersprache hat eine spezifische Syntax. Der Programmierer sollte sich beim Schreiben von Programmen an diese Syntaxen h alten. Die Schlüsselwörter der Programmiersprachen haben je nach Aufgabenstellung spezifische Bedeutungen. Sie werden von der Programmiersprache bereitgestellt und können nicht für benutzerdefinierte Variablen, Methoden, Klassen usw. verwendet werden. Das static und final sind zwei Schlüsselwörter in Java. Dieser Artikel beschreibt den Unterschied zwischen static und final in Java. Der Hauptunterschied zwischen static und final in Java besteht darin, dass static verwendet wird, um das Klassenmitglied zu definieren, das unabhängig von jedem Objekt der Klasse verwendet werden kann, während final verwendet wird, um eine konstante Variable oder eine Methode zu deklarieren, die nicht überschrieben werden kann, oder eine Klasse, die kann nicht vererbt werden.
Was ist statisch in Java?
Eine Klasse besteht aus Datenelementen (Attributen) und Methoden. Um die Methoden aufzurufen, sollte ein Objekt dieser bestimmten Klasse vorhanden sein. Wenn eine Methode als statisch deklariert ist, muss kein Objekt erstellt werden, um diese Methode aufzurufen. Die Methode kann über den Klassennamen aufgerufen werden. Siehe untenstehendes Programm.
Abbildung 01: Java-Programm mit statischen Variablen und statischer Methode
Gemäß obigem Programm enthält die Klasse A eine Zahlenvariable und eine Anzeigemethode. Beide sind statische Mitglieder. Daher ist es nicht erforderlich, ein Objekt zu erstellen, um auf die Zahlenvariable und die Anzeigemethode zuzugreifen. Der Programmierer kann den Klassennamen direkt schreiben, um die Nummer auszudrucken und die Methode display aufzurufen. Es besteht also keine Notwendigkeit, ein Objekt zu instanziieren. Wenn die Zahlenvariable und die Anzeigemethode nicht statisch sind, sollte es ein Objekt vom Typ A geben.
Abbildung 02: Verwendung des statischen Blocks
Das obige Programm enthält den statischen Block und die Hauptmethode. Der statische Block wird aufgerufen, wenn die Klasse geladen wird. Daher wird die Anweisung im statischen Block vor der Anweisung im Hauptblock ausgeführt. Wenn es viele statische Blöcke gibt, werden sie nacheinander ausgeführt.
Was ist final in Java?
Im Programm kann es Variablen verschiedener Typen geben. Wenn es eine Variable wie int x=1 gibt; Später im Programm kann dieser Variablenwert auf einen anderen Wert geändert werden. Eine als final deklarierte und mit einem Wert initialisierte Variable kann später im Programm nicht mehr geändert werden.
Abbildung 03: Programm mit finaler Variable und Vererbung
Nach obigem Programm ist x eine finale Variable. Ihm wird der Wert 5 zugewiesen. Er kann nicht auf einen anderen Wert geändert werden, da er als endgültig deklariert ist. Java unterstützt die objektorientierte Programmierung (OOP). Eine Säule von OOP ist ein Polymorphismus. Eine Art von Polymorphismus überschreibt. Klasse A hat die Anzeigemethode. Die Klasse B erweitert die Klasse A und hat ihre eigene Anzeigemethode. Wenn Sie ein Objekt vom Typ B erstellen und die Anzeigemethode aufrufen, wird „B“als Ausgabe ausgegeben. Die Anzeigemethode der Klasse A wird von der Anzeigemethode der Klasse B überschrieben.
Wenn der Programmierer das Überschreiben einer Methode vermeiden möchte, kann er das Schlüsselwort final für diese Methode verwenden. Wenn die Anzeigemethode in Klasse A final ist, gibt die Anzeigemethode in B einen Fehler aus, da diese Methode nicht überschrieben werden kann.
Abbildung 04: letztes Schlüsselwort in der Methode
Eine weitere Säule von OOP ist die Vererbung. Es hilft, den bereits vorhandenen Code wiederzuverwenden. Die neue Klasse kann sich von der bestehenden Klasse erweitern und die Datenelemente und Methoden der bestehenden Klasse verwenden. Wenn es erforderlich ist, das Vererben einer Klasse zu stoppen, kann der Programmierer das Schlüsselwort „final“verwenden. Siehe untenstehendes Programm.
Abbildung 05: letztes Schlüsselwort in der Klasse
Gemäß obigem Programm wird die Klasse A als endgültig erklärt. Wenn Klasse B A erweitert, gibt sie einen Fehler aus, weil Klasse A als final deklariert ist. Es kann nicht von anderen Klassen vererbt werden.
Was ist die Ähnlichkeit zwischen static und final in Java?
Sowohl static als auch final sind Schlüsselwörter in Java
Was ist der Unterschied zwischen static und final in Java?
statisch gegen Finale in Java |
|
Statisches Schlüsselwort bedeutet, dass auf eine Mitgliedsvariable oder Methode zugegriffen werden kann, ohne dass eine Instanziierung der Klasse, zu der sie gehört, erforderlich ist. | Das letzte Schlüsselwort bezeichnet eine Entität, die nur einmal zugewiesen werden kann. |
Variablen | |
Die statischen Variablen können neu initialisiert werden. | Die finalen Variablen können nicht reinitialisiert werden. |
Methoden | |
Kann von anderen statischen Methoden aufgerufen werden und greift nur auf die statischen Mitglieder der Klasse zu. | Die endgültigen Methoden können nicht überschrieben werden. |
Klasse | |
Das statische Klassenobjekt kann nicht erstellt werden. Es enthält nur statische Mitglieder. | Die letzte Klasse kann nicht von anderen Klassen vererbt werden. |
Blockieren | |
Das statische Schlüsselwort kann in einem Block verwendet werden. | Das letzte Schlüsselwort wird nicht mit einem Block verwendet. |
Zusammenfassung – statisch vs. final in Java
In diesem Artikel wurden zwei Schlüsselwörter in Java behandelt, z. B. static und final. Der Unterschied zwischen static und final in Java besteht darin, dass static verwendet wird, um das Klassenmitglied zu definieren, das unabhängig von jedem Objekt der Klasse verwendet werden kann, während final verwendet wird, um eine konstante Variable oder eine Methode zu deklarieren, die nicht überschrieben werden kann, oder eine Klasse, die dies nicht kann vererbt werden.