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); } }
Das Ergebnis der Ausführung des Programms ist:
user1.name:Rose user2.name:Kate user1.count:20 user2.count:20
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"); }
kann wie folgt geändert werden:
public static void test(){ User user=new User(); user.setName("test"); }
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!