Was ist der Unterschied zwischen statisch und endgültig

Der Hauptunterschied zwischen statisch und endgültig ist der Mit static wird der Klassenmitglied definiert, der unabhängig von jedem Objekt der Klasse verwendet werden kann. Im Gegensatz, final wird verwendet, um eine konstante Variable oder eine Methode zu deklarieren, die nicht überschrieben werden kann, oder eine Klasse, die nicht vererbt werden kann.

Static und Final sind zwei Schlüsselwörter, die in vielen Objektorientierungen verwendet werden, die Programmiersprachen wie Java unterstützen. Static wird bei Variablen und Methoden verwendet, um zu definieren, dass sie zur Klasse gehört, nicht zum Objekt. Andererseits wird final verwendet, um den Benutzer auf den Zugriff auf eine Variable, Methode oder Klasse zu beschränken.

Wichtige Bereiche

1. Was ist statisch?
     - Definition, Funktionalität
2. Was ist endgültig?
     - Definition, Funktionalität
3. Was ist der Unterschied zwischen statisch und endgültig
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

Klasse, letzte Variable, statische Variable

Was ist statisch?

Eine Klasse besteht aus Variablen und Methoden. Ein Objekt wird aus einer Klasse erstellt. Über dieses Objekt können Variablen und Methoden aufgerufen werden. Wenn ein Klassenmitglied mit statisch deklariert ist, ist es nicht erforderlich, ein Objekt zu erstellen, um Methoden und Variablen aufzurufen. Stattdessen kann der Klassenname verwendet werden, um ihn aufzurufen. Statisch ist mit anderen Worten ein Schlüsselwort, das zur Klasse gehört und nicht zum Objekt.

Eine Variable mit dem Schlüsselwort static wird als statische Variable bezeichnet. Sie werden verwendet, um auf eine gemeinsame Eigenschaft einer Objektgruppe zu verweisen. Diese Variablen erhalten zum Zeitpunkt des Ladens der Klasse Speicher. Der Hauptvorteil einer statischen Variablen besteht darin, dass dadurch Speicher eingespart wird.

Abbildung 1: Statische Variable

Im obigen Programm gibt es eine statische Variable namens count. Im Konstruktor wird die Anzahl um 1 erhöht. Im Hauptprogramm werden drei Schülerobjekte erstellt. Das Drucken der Zählung ergibt das Ergebnis 3, da drei Objekte vorhanden sind. Die Zählvariable wird von allen Objekten gemeinsam verwendet. Jedes Mal, wenn ein Objekt erstellt wird, wird die Anzahl um eins erhöht. Wenn der Zähler angezeigt wird, sollte er mit dem Klassennamen geschrieben werden (z. B. Student.count)..

Eine Methode mit dem Schlüsselwort static wird als statische Methode bezeichnet. Ein Beispiel ist wie folgt.

Abbildung 2: Statische Methode

Im obigen Programm ist Quadrat eine statische Methode. Es erhält einen ganzzahligen Wert. In der Hauptmethode wird die statische Methode aufgerufen und der Wert 4 übergeben. Die Antwort der Methode wird im Variablenergebnis gespeichert und schließlich gedruckt. Hier wird der Klassenname verwendet, um auf die statische Methode zuzugreifen. (z. B. Calculate.square (4)). Andererseits können die statischen Methoden keine nicht statischen Datenelemente verwenden oder nicht statische Methoden direkt aufrufen. Die Bewertung einer nicht statischen Variablen durch eine statische Methode führt zu einem Fehler bei der Kompilierung.

Was ist endgültig?

Final ist ein Schlüsselwort, um den Benutzer einzuschränken. Es kann in Variablen, Methoden und Klassen verwendet werden. Ein Wert einer endgültigen Variablen kann nicht geändert werden.

Abbildung 3: Endgültige Variable

Im obigen Programm wird die Variable speedLimit als final deklariert. Daher kann sein Wert in der Antriebsmethode nicht geändert werden. Es wird also ein Fehler angezeigt. 

Abbildung 4: Klasse A

Abbildung 5: Klasse B

In dem obigen Programm hat Klasse A eine letzte Methode, die als Anzeige bezeichnet wird. Klasse B erweitert A. Die Klasse B kann also alle Variablen und Methoden der Klasse A erben. Klasse B verfügt auch über die Methodenanzeige. Da die Anzeigemethode der Klasse A final ist, ist es nicht möglich, diese Methode in Klasse B zu überschreiben.

Darüber hinaus kann eine Abschlussklasse nicht wie folgt erweitert werden.

Abbildung 6: Abschlussklasse

Abbildung 7: Klasse B

Da die Klasse A endgültig ist, kann sie nicht durch Klasse B erweitert oder vererbt werden.

Unterschied zwischen statisch und endgültig

Definition

Static ist ein Schlüsselwort, das eine Membervariable oder eine Methode angibt, auf die zugegriffen werden kann, ohne dass eine Instanziierung der Klasse erforderlich ist, zu der sie gehört. Im Gegensatz dazu ist final ein Schlüsselwort, das eine Entität bezeichnet, die nur einmal zugewiesen werden kann. Dies erklärt also den grundlegenden Unterschied zwischen statisch und endgültig. 

Variablen

Während statische Variablen erneut initialisiert werden können, können endgültige Variablen nicht erneut initialisiert werden. Dies ist ein wesentlicher Unterschied zwischen statisch und endgültig. 

Methoden

Statische Methoden können von anderen statischen Methoden aufgerufen werden und greifen nur auf die statischen Member der Klasse zu. Andererseits können endgültige Methoden nicht überschrieben werden. Dies ist ein weiterer wichtiger Unterschied zwischen statisch und endgültig.

Klasse

Ein Objekt kann nicht aus einer statischen Klasse erstellt werden. Es besteht nur aus statischen Elementen. Ebenso können letzte Klassen nicht von anderen Klassen vererbt werden.

Fazit

Statisch wird verwendet, um den Klassenmitglied zu definieren, der unabhängig von jedem Objekt der Klasse verwendet werden kann. Final wird verwendet, um eine konstante Variable oder eine Methode zu deklarieren, die nicht überschrieben werden kann, oder eine Klasse, die nicht vererbt werden kann. Dies ist der Hauptunterschied zwischen statisch und endgültig.

Referenz:

1. „Statisches Schlüsselwort in Java - Javatpoint“. Www.javatpoint.com, hier verfügbar.
2. „Endgültiges Schlüsselwort in Java - Javatpoint“. Www.javatpoint.com, hier verfügbar.