Heim  >  Artikel  >  Java  >  Eine kurze Einführung in den Unterschied zwischen statisch und nicht statisch in Java

Eine kurze Einführung in den Unterschied zwischen statisch und nicht statisch in Java

黄舟
黄舟Original
2017-10-10 10:22:291471Durchsuche

Dieser Artikel stellt hauptsächlich den zugehörigen Inhalt von statisch und nicht statisch in Java vor. Ich kann ihn mit allen teilen, die ihn benötigen.

Über den Unterschied zwischen statischen und nicht statischen Variablen

1. Statisch geänderte Variablen werden als Klassenvariablen oder globale Variablen oder Mitgliedsvariablen bezeichnet, die geladen werden Wenn die Klasse geladen wird, wird die Mitgliedsvariable mit der Klasse verknüpft. Solange die Klasse existiert, existiert die statische Variable. Nicht statische geänderte Mitgliedsvariablen teilen den Speicherplatz auf, wenn das neue Objekt herauskommt, und sind an das spezifische Objekt gebunden. Diese Mitgliedsvariable gehört nur dem aktuellen Objekt.

2. Statisch geänderte Variablen werden beim Laden in den Datenfreigabebereich im Speicher ------- Methodenbereich vor der Hauptmethode geladen, während nicht statische Variablen beim Laden geladen werden. müssen Variablen erstellt werden, bevor sie in den Heap-Speicher geladen werden.

3. Eine statische Variable teilt einen Speicherplatz separat auf und ist nicht an ein bestimmtes Objekt gebunden. Der Speicherplatz wird von jedem Objekt der Klasse gemeinsam genutzt. Statische Variablenwerte werden einmal im Methodenbereich geladen, während nicht statische Variablen beim Erstellen von Objekten mehrmals geladen werden. Bei jeder Erstellung wird eine Kopie erstellt.

4. Wenn ein Objekt auf eine Mitgliedsvariable verweist, wird es direkt über den Klassennamen aufgerufen. Variablenname Wenn ein Objekt auf eine Instanzvariable verweist, kann es nur über den Objektnamen aufgerufen werden .Variablenname.

5. Wenn Sie Mitgliedsvariablen in einer Klasse aufrufen, rufen Sie sie direkt auf oder rufen Sie sie in der Form „Klassenname.Variablenname“ auf. Verwenden Sie beispielsweise diese Variable oder rufen Sie sie direkt auf.

Über den Unterschied zwischen statischen Methoden und nicht statischen Methoden

1 Die statische modifizierte Methode ist auch die gleiche wie die statische. Es wird vor der Hauptmethode zur gemeinsamen Nutzung in den Methodenbereich geladen.

2. Das Schlüsselwort this oder super kann nicht in statischen statischen Methoden verwendet werden, da statische Methoden Methoden sind, die vor der Erstellung des Objekts geladen wurden und Methoden der Klasse sind, und zwar this und super zeigen auf sind Objekte dieser Klasse oder Objekte der übergeordneten Klasse, nicht statische Methoden gehören zu Objekten und this und super können in Methoden verwendet werden.

3. Die statische Methode kann mit object.method name oder class name.method name aufgerufen werden. Nicht statische Methoden können erst aufgerufen werden, nachdem das Objekt erstellt wurde.

4. Die statische Methode wird einmal geladen und von allen Objekten geteilt. Nicht statische Methoden werden so oft kopiert, wie Objekte vorhanden sind, und jedes Objekt kann nur seine eigene Kopiermethode aufrufen.

5. Wenn ein Objekt nicht statische Methoden aufruft, werden Thread-Sicherheitsprobleme nicht berücksichtigt, beim Aufruf statischer Methoden müssen jedoch Sicherheitsprobleme berücksichtigt werden. Weil es nur eine Kopie der statischen Methode gibt. Die Methoden des Objekts haben ihre eigenen.

6. In derselben Klasse können statische Methoden nur auf statische Mitglieder der Klasse zugreifen. Nicht statische Methoden können auf nicht statische Methoden zugreifen (mit dem Klassennamen aufrufen oder ein Objekt dieser Klasse erstellen).

Zusammenfassung

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in den Unterschied zwischen statisch und nicht statisch 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