Heim > Java > javaLernprogramm > Welche Funktion hat der statische Modifikator in der Java-Sprache?

Welche Funktion hat der statische Modifikator in der Java-Sprache?

王林
Freigeben: 2023-04-18 14:38:20
nach vorne
1471 Leute haben es durchsucht

In Java-Klassen sehen wir oft das Schlüsselwort static, das oft als static bezeichnet wird. Der statische Modifikator kann zum Ändern von Daten- und Methodenmitgliedern verwendet werden, er kann jedoch keine Klassen (hier bezieht sich auf externe Klassen) und Konstruktoren ändern. Zum Beispiel:

package com.csst.vo;    public class User {          private String name;          private static int count;          public String getName() {                 return name;          }          public void setName(String name) {                 this.name = name;          }                public static int getCount() {                 return count;          }          public static void main(String[] args){                 User user1=new User();                 User user2=new User();                 user1.setName("Rose");                 user2.setName("Kate");                 user1.count=10;                 user2.count=20;                 System.out.println("user1.name:"+user1.getName()+" user2.name:"+user2.getName());                 System.out.println("user1.count:"+User.getCount()+"user2.count:"+user2.count);          }  }
Nach dem Login kopieren

Das Ergebnis der Ausführung des Programms ist:

user1.name:Rose user2.name:Kate   user1.count:20 user2.count:20
Nach dem Login kopieren

Wir können feststellen, dass die Namensattribute von Benutzer1 und Benutzer2 unterschiedlich sind, wie durch den Aufruf von setName für das Objekt angegeben, obwohl Benutzer1 und Benutzer2 unterschiedliche Zählattribute angeben Wert, aber der endgültige Ausgabezählwert beträgt alle 20. Der Grund dafür ist, dass die Anzahl durch Statik geändert wird, der Name jedoch nicht durch die Anzahl.
Durch den statischen Modifikator geänderte Datenmitglieder oder Methodenmitglieder werden als statische Mitglieder bezeichnet, und diejenigen, die nicht durch statische Elemente geändert werden, werden als Instanzmitglieder bezeichnet. Statische Mitglieder werden nur einmal initialisiert und von allen Objekten gemeinsam genutzt, daher gibt count zwei 20er aus. Instanzmitglieder werden nur initialisiert, wenn das Objekt initialisiert wird. Jedes Mal, wenn ein Objekt erstellt wird, wird es einmal initialisiert. name wurde bei der Erstellung von Benutzer1 und Benutzer2 zweimal initialisiert, sodass die endgültige Ausgabe „Rose und Kate“ lautet.
Darüber hinaus können statische Mitglieder, da sie von Klassen gemeinsam genutzt werden, nicht nur von Objekten, sondern auch von Klassennamen aufgerufen werden. In der statischen Methode können nicht statische Elemente nicht direkt verwendet werden. Bei Verwendung muss das Objekt initialisiert und aufgerufen werden. Wenn im obigen Beispiel der folgende Code in User.java vorhanden ist, tritt ein Kompilierungsfehler auf.

public static void test(){          setName("test");   }
Nach dem Login kopieren

kann wie folgt geändert werden:

public static void test(){                 User user=new User();                 user.setName("test");   }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWelche Funktion hat der statische Modifikator in der Java-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage