Unterschied zwischen statisch und final in Java

Schlüsseldifferenz - statisch vs Finale in Java
 

Jede Programmiersprache hat eine bestimmte Syntax. Der Programmierer sollte beim Schreiben von Programmen diesen Syntax folgen. Die Schlüsselwörter der Programmiersprachen haben je nach Aufgabenstellung bestimmte Bedeutungen. Sie werden von der Programmiersprache bereitgestellt und können nicht für benutzerdefinierte Variablen, Methoden und Klassen verwendet werden, usw. Das statische und das endgültige sind zwei Schlüsselwörter in Java. Dieser Artikel beschreibt den Unterschied zwischen statisch und final in Java. Das Hauptunterschied zwischen statisch und final in Java ist das Mit static wird der Klassenmitglied definiert, der unabhängig von jedem Objekt der Klasse verwendet werden kann, während final zur Deklaration einer konstanten Variablen oder einer Methode, die nicht überschrieben werden kann, oder einer Klasse, die nicht vererbt werden kann, verwendet wird.

INHALT

1. Übersicht und Schlüsseldifferenz
2. Was ist statisch in Java?
3. Was ist in Java endgültig?
4. Ähnlichkeiten zwischen statisch und final in Java
5. Side-by-Side-Vergleich - statisch vs. final in Java in Tabellenform
6. Zusammenfassung

Was ist statisch in Java??

Eine Klasse besteht aus Datenelementen (Attributen) und Methoden. Um die Methoden aufzurufen, sollte es ein Objekt dieser bestimmten Klasse geben. Wenn eine Methode als statisch deklariert ist, muss kein Objekt erstellt werden, um diese Methode aufzurufen. Die Methode kann mit dem Klassennamen aufgerufen werden. Siehe das untenstehende Programm.

Abbildung 01: Java-Programm mit statischen Variablen und statischer Methode

Gemäß dem obigen 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 zu drucken und die Methodendarstellung aufzurufen. Ein Objekt muss also nicht instanziiert werden. Wenn die Zahlenvariable und die Anzeigemethode nicht statisch sind, sollte ein Objekt vom Typ A vorhanden sein.

Abbildung 02: Verwendung eines statischen Blocks

Das obige Programm enthält den statischen Block und die Hauptmethode. Der statische Block wird beim Laden der Klasse aufgerufen. Daher wird die Anweisung im statischen Block vor der Anweisung im Hauptblock ausgeführt. Wenn viele statische Blöcke vorhanden sind, werden sie nacheinander ausgeführt.

Was ist in Java endgültig??

Im Programm können verschiedene Arten von Variablen vorhanden sein. Wenn eine Variable als int x = 1 ist; Dieser Variablenwert kann später im Programm in einen anderen Wert geändert werden. Eine als final deklarierte und mit einem Wert initialisierte Variable kann später im Programm nicht geändert werden.

Abbildung 03: Programm mit endgültiger Variable und Vererbung

Gemäß dem obigen Programm ist x eine letzte Variable. Es wird ein Wert 5 zugewiesen. Es kann kein anderer 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 hat Vorrang. Klasse A hat die Anzeigemethode. Die Klasse B erweitert die Klasse A und verfügt über eine eigene Anzeigemethode. Beim Erstellen eines Objekts vom Typ B und dem Aufruf der Anzeigemethode wird als Ausgabe "B" ausgegeben. Die Anzeigemethode der Klasse A wird durch die Anzeigemethode der Klasse B überschrieben.

Wenn der Programmierer das Überschreiben einer Methode vermeiden soll, kann er das abschließende Schlüsselwort für diese Methode verwenden. Wenn die Anzeigemethode in Klasse A endgültig ist, gibt die Anzeigemethode in B einen Fehler aus, da diese Methode nicht überschrieben werden kann.

Abbildung 04: Endgültiges Schlüsselwort in der Methode

Eine weitere Säule der OOP ist die Vererbung. Es hilft, den bereits vorhandenen Code wiederzuverwenden. Die neue Klasse kann sich von der vorhandenen Klasse erstrecken und die Datenmitglieder und Methoden der vorhandenen Klasse verwenden. Wenn das Erben einer Klasse beendet werden muss, kann der Programmierer das Schlüsselwort 'final' verwenden. Siehe das untenstehende Programm.

Abbildung 05: Endgültiges Schlüsselwort in der Klasse

Gemäß dem obigen Programm wird die Klasse A als final deklariert. Wenn Klasse B A erweitert, wird ein Fehler ausgegeben, da Klasse A als final deklariert ist. Es kann nicht von anderen Klassen vererbt werden.

Was ist die Ähnlichkeit zwischen statisch und final in Java??

  • Sowohl statisch als auch final sind Schlüsselwörter in Java.

Was ist der Unterschied zwischen statisch und endgültig in Java??

statisch vs final in Java

Ein statisches Schlüsselwort gibt an, dass auf eine Mitgliedervariable oder -methode zugegriffen werden kann, ohne dass eine Instanziierung der Klasse erforderlich ist, zu der sie gehört. Das abschließende Schlüsselwort kennzeichnet eine Entität, die nur einmal zugewiesen werden kann.
 Variablen
Die statischen Variablen können erneut initialisiert werden. Die endgültigen Variablen können nicht erneut initialisiert werden.
Methoden
Kann von anderen statischen Methoden aufgerufen werden und nur auf die statischen Member der Klasse zugreifen. Die endgültigen Methoden können nicht überschrieben werden.
Klasse
Das statische Klassenobjekt kann nicht erstellt werden. Es enthält nur statische Member. Die letzte Klasse kann nicht von anderen Klassen vererbt werden.
Block
Das statische Schlüsselwort kann in einem Block verwendet werden. Das letzte Schlüsselwort wird nicht mit einem Block verwendet.

Zusammenfassung - statisch vs Finale in Java

In diesem Artikel wurden zwei Schlüsselwörter in Java wie statisch und endgültig erläutert. Der Unterschied zwischen static und final in Java besteht darin, dass mit static der Klassenmitglied definiert wird, der unabhängig von jedem Objekt der Klasse verwendet werden kann, während final zur Deklaration einer konstanten Variablen oder einer Methode, die nicht überschrieben werden kann, oder einer Klasse, die nicht überschrieben werden kann vererbt werden.

Referenz:

1.Was ist das statische Schlüsselwort in Java? statische Methode und statische Variable, Telusko Learnings, 6. März 2015. Hier verfügbar  
2.7.16 Verwenden des statischen Blocks in Java-Lernprogramm, Telusko Learnings, 30. April 2015. Hier verfügbar
3.8.13 Verwendung von Final Keyword in Java | Methode, Klasse und Variable, Telusko Learnings, 26. Februar 2015. Hier verfügbar