Unterschied zwischen endgültig und statisch

In Mathematik und Naturwissenschaften ist die Konstante ein Begriff, der einen bestimmten Wert wie 'π' bezeichnet, ein praktischer Name für die Zahl 3.14159. Java hat seine Art von Konstanten. Dies sind Variablen, die unter (a) keinem Objekt angehören und Sub (b) ihren Wert nicht ändern, sobald sie festgelegt sind. Das statische Wort in der Variablendeklaration zeigt, dass die Variable zu keinem Objekt gehört. Es gibt ein ähnliches Schlüsselwort, das besagt, dass der Variablenwert nur einmal festgelegt wird und sich nicht ändert. Dies ist das Schlüsselwort final. Dieses Schlüsselwort ist nicht auf statische Variablen beschränkt, sondern kann mit Instanzvariablen, lokalen Variablen und sogar mit Variablen, die Parametermethoden sind, verwendet werden. Wenn Sie die Variable als final deklarieren, zeigen Sie allen, dass die Variable während der Existenz den gleichen Wert haben wird. Noch wichtiger ist, der Compiler erkennt jeden Versuch, den Wert einer so deklarierten Variablen zu ändern, und meldet diesen als Fehler. In Bezug auf die Java-Terminologie wird die als statisch und als final deklarierte Variable als Konstante bezeichnet.

Was ist endgültig??

Der letzte Modifikator kann an mehreren Stellen in der Java-Programmiersprache verwendet werden. Hier werden wir den häufigsten Gebrauch abdecken. Der letzte Modifikator kann auf die Deklaration einer lokalen Variablen, eines Funktionsarguments und nicht statischer oder statischer Member-Variablen angewendet werden. In diesem Zusammenhang wird der Variablenmodifizierer in eine Konstante konvertiert. Der Übersetzer für die Übersetzungssprache überprüft, ob ein Code versucht, den Wert zu ändern, und diese Versuche werden als Fehler gekennzeichnet. Hier ist ein Beispiel.

endgültiger int-Wert = 17;

Statische Membervariablen mit diesem Modifikator werden als globale Konstanten verwendet. In der java.lang.Math-Variablen PI wird dies beispielsweise genau angegeben

öffentliches statisches letztes Doppel PI = 3,14159265358979323846;

Wir können den letzten Modifikator auf die Funktionserklärung anwenden. Die mit dem Finale markierte Funktion kann nicht mehr außer Kraft gesetzt werden - das ist die endgültige Implementierung. Die abstrakten Methoden können nicht als endgültig erklärt werden. Die Tatsache, dass sie abstrakt sind, bedeutet, dass sie nicht implementiert werden. es kann sicherlich nicht ihr endgültiger Zustand sein. Hier ist ein Beispiel.

public final int bedeutungLife ()

Rückkehr 42;

Wir können den letzten Modifikator auf die Klassendeklaration anwenden. Die Klasse, die mit dem Finale markiert ist, kann nicht mehr erben - das ist die endgültige Implementierung. Die abstrakte Klasse kann natürlich nicht gleichzeitig final sein. Hier ist ein Beispiel

öffentliche Abschlussklasse geschlossen

//…

Eines der Beispiele für endliche Klassen ist die Klasse java.lang.String. Diese Klasse ist begrenzt, sodass niemand sie erben und somit Zugriff auf ihre Member-Variablen erhalten kann.

Was ist statisch??

Statische Variablen gehören nicht zu einer bestimmten Instanz der Klasse. Statische Variablen gehören zur Klasse selbst und im Speicher gibt es nur einen Speicherort, unabhängig von der Anzahl der Kopien dieser Klasse, die im Speicher erstellt werden. Nicht statische Variablen gehören zu Klassenexemplaren - jede Instanz der Klasse verfügt über eine eigene Kopie dieser Variablen. Statische Variablen gehören zur Klasse - die Klasse im Speicher speichert die Werte dieser Variablen. Daher wird für alle Beispielklassen derselbe Inhalt angezeigt, sodass statische Variablen für alle Klassengrößen gelten können. Durch die Aktualisierung der Wertvariable wird der neue Wert automatisch für alle Instanzen dieser Klasse sichtbar. Statische Filter können auf jedes Element angewendet werden, das innerhalb einer Klasse legal deklariert ist. Bei Mitgliedschaftsvariablen wird die Folge sein, dass solche Membervariablen nur an einer Stelle gespeichert werden. Was passiert, wenn es sich um eine Methode handelt? Durch die Deklaration der Methode als statisch ist die Nachricht gleich: Die betreffende Methode gehört nicht zu Klassen von Klassen, sondern zur Klasse selbst. Folglich erhalten statische Methoden keinen versteckten Verweis auf das Objekt, über das sie beim Aufruf aufgerufen werden. In statischen Referenzmethoden ist dies nicht verfügbar. Das Aufrufen statischer Methoden über das Objekt hinweg ist in der Tat genauso verwirrend wie der Zugriff auf statische Member-Variablen, indem auf diese Referenz verwiesen wird. In beiden Fällen ist es besser, den Namen der Klasse, den Punkt und den Namen der aufrufenden Methode zu schreiben.

Unterschied zwischen endgültig und statisch

  1. Variable

Static steht für eine Variable, die allen Objekten gemeinsam ist, die eine bestimmte Klasse instanziieren, während final die Konstante definiert.

  1. Methode

Static ist eine Methode, die für jedes Objekt der Klasse gleich ist. Wird auch als Klassenmitglied bezeichnet, z. Das ist die Hauptmethode. Final-Methode kann nicht in der geerbten Klasse verarbeitet werden.

  1. Klasse

Das Finale kann nicht erweitert werden, d. H. Lässt keine Unterklassen zu. Static gilt nicht für die Klasse.

  1. Wert

Einfach ausgedrückt bedeutet final, dass der Wert nicht geändert werden kann (überschreiben). Der statische Wert wird auf den Standardwert gesetzt, kann aber erneut initialisiert werden.

Final vs. Static: Vergleichstabelle

Zusammenfassung von Final und Static

  • Die Schlüsselarbeitsstatik bietet Zugriff, auch wenn kein Objekt (Instanz) vorhanden ist. Prominente Klassen werden durch das Schlüsselwort static deklariert. Wenn Sie nicht möchten, dass einige Änderungen später im Programm vorgenommen werden, oder wenn der Compiler prüfen und verbieten soll, können Sie dieses Versprechen auf das endgültige Ergebnis ändern. Es gibt einen statischen Block für die Initialisierung. Der statische Block für die Initialisierung wird als Schlüsselstatik vor den Klammern deklariert. Diese Art von Block wird einmal während des Lesens der Klassen ausgeführt und initialisiert normalerweise die statischen Member der Klasse.