Unterschied zwischen endgültig und statisch

Unterschied zwischen endgültig und statisch

In Mathematik und Naturwissenschaften ist die Konstante ein Begriff, der einen bestimmten Wert wie 'π' bezeichnet, der ein praktischer Name für die Nummer 3 ist.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 Variablenerklärung zeigt, dass die Variable keinem Objekt gehört. Es gibt ein ähnliches Schlüsselwort, das besagt, dass der variable Wert nur einmal festgelegt wird und sich nicht ändert. Dies ist das Schlüsselwort Finale. Dieses Schlüsselwort ist nicht auf statische Variablen beschränkt, kann jedoch mit Instanzvariablen, lokalen Variablen und sogar mit Variablen verwendet werden, die Parametermethoden sind. Indem Sie die Variable als Finale deklarieren, zeigen Sie jedem, dass die Variable während der Existenz den gleichen Wert hat. Noch wichtiger ist, dass der Compiler jeden Versuch erfasst, den Wert einer so deklarierten Variablen zu ändern und ihn als Fehler zu melden. Was die Java -Terminologie betrifft, so wird die Variable, die als statisch und endgültig deklariert wird.

Was ist endgültig?

Der endgültige Modifikator kann an mehreren Stellen in der Java -Programmiersprache verwendet werden. Hier werden wir die häufigste Verwendung abdecken. Der endgültige Modifikator kann auf die Erklärung eines lokalen Variablen-, Funktionsarguments und nicht-statischen oder statischen Mitgliedsvariablen angewendet werden. In diesem Zusammenhang wandelt sich der Variablenmodifikator in eine Konstante um. Der Übersetzer des Übersetzungssprachs prüft, ob ein Code versucht, den Wert zu ändern, und solche Versuche werden als Fehler gekennzeichnet. Hier ist ein Beispiel.

endgültiger int value = 17;

Statische Mitgliedsvariablen mit diesem Modifikator werden als globale Konstanten verwendet. Zum Beispiel in der Java.Lang.Math Variable Pi, es wird genau angegeben

öffentliche statische endgültige Doppel Pi = 3.14159265358979323846;

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

public Final int significle ()

Rückkehr 42;

Wir können den endgültigen Modifikator auf die Klassenerklärung anwenden. Die Klasse, die mit dem Finale gekennzeichnet ist, kann nicht mehr erben - das ist ihre endgültige Implementierung. Die abstrakte Klasse kann eindeutig nicht gleichzeitig endgültig sein. Hier ist ein Beispiel

öffentliche endgültige Klasse geschlossen

//…

Eines der endlichen Klassenbeispiele ist die Java.Lang.String -Klasse - es ist endlich, so dass niemand es erben und so Zugriff auf seine Mitgliedsvariablen 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 Gedächtnis gibt es nur einen Ort, unabhängig von der Anzahl der Kopien dieser Klasse, die im Speicher erstellt werden. Nichtstatische Variablen gehören zu Klassenproben - jede Instanz der Klasse hat eine eigene Kopie solcher Variablen. Statische Variablen gehören zur Klasse - die Klasse im Gedächtnis hält die Werte solcher Variablen; Alle Stichprobenklassen sehen daher den gleichen Inhalt, sodass wir statische Variablen für alle Klassengrößen teilen können. Durch Aktualisierung der Wertvariablen wird der neue Wert für alle Instanzen dieser Klasse automatisch sichtbar. Der statische Filter kann auf jedes Element angewendet werden, das legal innerhalb einer Klasse deklariert ist. Im Falle von Mitgliedsvariablen ist die Folge, dass solche Mitgliedsvariablen nur an einem Ort im Gedächtnis gespeichert werden. Was passiert, wenn es eine Methode ist? Indem die Methode als statisch erklärt wird, ist die Nachricht dieselbe: Die relevante Methode gehört nicht zu Klassen von Klassen, sondern zur Klasse selbst. Infolgedessen erhalten statische Methoden keinen versteckten Hinweis auf das Objekt, auf das sie auf den Anruf gerufen werden. Bei statischen Referenzmethoden ist dies nicht verfügbar. In der Tat ist es ebenso verwirrend, statische Methoden über das Objekt aufzurufen, indem es auf statische Mitgliedsvariablen zugreift, indem sie sich auf diese Referenz beziehen: In beiden Fällen ist es besser, einfach den Namen der Klasse, den Punkt und den Namen der Anrufmethode 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 die endgültige Konstante definiert.

  1. Methode

Static ist eine Methode, die für jedes angegebene Objekt der Klasse gleich ist - wird auch als Klassenmitglied E bezeichnet. E.G. Das ist die Hauptmethode. Die endgültige Methode kann in der ererbten Klasse nicht verarbeitet werden.

  1. Klasse

Das Finale kann nicht erweitert werden i.e. erlaubt keine Unterklassen. Static gilt nicht für den Unterricht.

  1. Wert

Einfach ausgedrückt, bezeichnete endgültig, dass der Wert nicht geändert werden kann (Überschreibung). Der statische Wert wird auf seinen Standardwert festgelegt, kann jedoch wieder initialisiert werden.

Finale vs. Statisch: Vergleichstabelle

Zusammenfassung der endgültigen und statischen Zusammenfassung

  • Die wichtigste Arbeitsstatic bietet Zugriff, auch wenn kein Objekt vorhanden ist (Instanz). Prominente Klassen werden durch das Schlüsselwort statisch deklariert. Wenn Sie den Wert einiger Änderungen später im Programm nicht möchten oder wenn der Compiler überprüft und verboten ist, können Sie dieses Versprechen an das Finale ä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 Unterrichts durchgeführt und initialisiert normalerweise die statischen Mitglieder der Klasse.