Heim  >  Artikel  >  Java  >  Einführung in finale und statische Schlüsselwörter in Java

Einführung in finale und statische Schlüsselwörter in Java

零下一度
零下一度Original
2017-07-21 16:45:031796Durchsuche
1. final

Die Methoden in der finalen Klasse sind standardmäßig nicht vererbbar

final Methoden können nicht durch Unterklassenmethoden überschrieben werden, können aber vererbt werden

Final-Mitgliedsvariablen stellen Konstanten dar und können nur einmal zugewiesen werden und können nach der Zuweisung nicht geändert werden

Final kann nicht zum Ändern verwendet werden Konstruktoren

private können nicht durch Methoden der Unterklasse überschrieben werden.

Es gibt drei Arten von Variablen, die durch final geändert werden: statische Variablen, Instanzvariablen und lokale Variablen, die Folgendes darstellen jeweils drei Arten von Variablen.

Hinweis: Wenn eine finale Variable definiert wird, kann sie zuerst deklariert werden, ohne einen Anfangswert anzugeben. Diese Variable wird auch als finales Leerzeichen bezeichnet. Unabhängig von der Situation stellt der Compiler sicher, dass das leere Final initialisiert werden muss vor dem Gebrauch.

2. statisch

statisch bedeutet „global“ oder „statisch“ und wird zum Ändern von Mitgliedern verwendet Variablen und Mitgliedsmethoden können auch statische Codeblöcke bilden, es gibt jedoch kein Konzept für globale Variablen in der Java-Sprache.

Durch Static geänderte Mitgliedsvariablen und Mitgliedsmethoden sind unabhängig von Objekten der Klasse. Das heißt, es hängt nicht von einer bestimmten Instanz der Klasse ab und wird von allen Instanzen der Klasse gemeinsam genutzt. Solange diese Klasse geladen ist, kann die Java Virtual Machine sie standardmäßig anhand des Klassennamens im Methodenbereich des Laufzeitdatenbereichs finden. Daher kann auf ein statisches Objekt zugegriffen werden, bevor eines seiner Objekte erstellt wird, ohne auf Objekte zu verweisen.
Vor einer statischen Variablen kann eine private Änderung erfolgen, was bedeutet, dass diese Variable im statischen Codeblock der Klasse oder in anderen statischen Mitgliedsmethoden oder nicht statischen Mitgliedsmethoden der Klasse verwendet werden kann, aber Es kann nicht über den Klassennamen in anderen Klassen verwendet werden. Es ist wichtig, direkt zu zitieren. Tatsächlich müssen Sie verstehen, dass „privat“ eine Einschränkung der Zugriffsberechtigung bedeutet und „statisch“ bedeutet, dass es ohne Instanziierung verwendet werden kann, was viel einfacher zu verstehen ist. Der Effekt des Hinzufügens anderer Zugriffsberechtigungsschlüsselwörter vor dem statischen Schlüsselwort ist ebenfalls derselbe.
Statische geänderte Mitgliedsvariablen und Mitgliedsmethoden werden üblicherweise als statische Variablen und statische Methoden bezeichnet. Sie können direkt über den Klassennamen aufgerufen werden:
Statischer Methodenname (Parameterliste). .)
  Statischer Variablenname
Der mit Static geänderte Codeblock stellt einen statischen Codeblock dar. Wenn die Java Virtual Machine (JVM) die Klasse lädt, wird der Codeblock ausgeführt.
1. Statische Variablen
Klassenmitgliedsvariablen können in zwei Typen eingeteilt werden, je nachdem, ob sie statisch sind: eine ist eine durch statische Variable modifizierte Variable, die andere ist eine Variable Das wird nicht durch Statik geändert. Variablen, die durch Statik geändert werden, werden Instanzvariablen genannt. Der Unterschied zwischen den beiden ist:
Es gibt nur eine Kopie der statischen Variablen im Speicher (um Speicher zu sparen). Die Speicherzuweisung der statischen Variablen wird während des Vorgangs abgeschlossen Der Klassenladevorgang kann direkt über den Klassennamen aufgerufen werden (praktisch), natürlich kann auch über Objekte darauf zugegriffen werden (dies wird jedoch nicht empfohlen).
Bevor eine Instanz erstellt wird, wird der Speicher einmal für die Instanzvariable zugewiesen. Instanzvariablen können mehrere Kopien im Speicher haben, ohne sich gegenseitig zu beeinflussen (flexibel).
2. Statische Methoden
Statische Methoden können direkt über den Klassennamen aufgerufen werden, und jede Instanz kann daher nicht in statischen Methoden und Instanzvariablen verwendet werden Auf Instanzmethoden (d. h. Mitgliedsvariablen und Mitgliedsmethoden ohne Statik) kann nur auf statische Mitgliedsvariablen und Mitgliedsmethoden der Klasse zugegriffen werden, zu der sie gehören. Weil Instanzmitglieder bestimmten Objekten zugeordnet sind! Das muss man verstehen und verstehen, nicht auswendig lernen! ! !
Da statische Methoden unabhängig von Instanzen sind, müssen statische Methoden implementiert werden und dürfen nicht abstrakt sein.
3. Statischer Codeblock wird auch als statischer Codeblock bezeichnet. Es handelt sich um einen statischen Anweisungsblock in einer Klasse, der unabhängig von Klassenmitgliedern sein kann Nach Belieben führt die JVM diese statischen Codeblöcke im Methodenkörper aus. Wenn mehrere statische Codeblöcke vorhanden sind, führt die JVM sie in der Reihenfolge aus, in der sie in der Klasse erscheinen. und jeder Codeblock wird nur einmal ausgeführt.
Was bedeuten „statisch“ und „final“ zusammen? „Static final“ wird zum Ändern von Mitgliedsvariablen und Mitgliedsmethoden verwendet. Es kann einfach als „globale Konstante“ verstanden werden!
Für Variablen bedeutet dies, dass ein einmal angegebener Wert nicht mehr geändert werden kann und über den Klassennamen aufgerufen werden kann.
Für Methoden bedeutet dies, dass sie nicht überschrieben werden können und direkt über den Klassennamen aufgerufen werden können.
                                                                                                                                                                                                   Wenn es durch static und final geändert wird, kann die Instanz selbst nicht geändert werden, aber beispielsweise Variablen einiger Containertypen (z. B. ArrayList, HashMap) können nicht geändert werden. Die Containervariable selbst kann geändert werden, die gespeicherten Objekte jedoch im Container kann geändert werden. Dies wird häufig in der Programmierung verwendet.
Das Objekt „installiert“ in der durch static final geänderten Containertypvariablen kann geändert werden.

Das obige ist der detaillierte Inhalt vonEinführung in finale und statische Schlüsselwörter in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn