In Java beziehen sich statische Methoden auf Mitgliedsmethoden, die durch statische Methoden geändert werden. Eine statische Methode kann ohne eine Instanz der Klasse aufgerufen werden, zu der sie gehört. Daher kann das Schlüsselwort this nicht in einer statischen Methode verwendet werden, und auf die Instanzvariablen und Instanzmethoden der Klasse, zu der sie gehört, kann jedoch nicht direkt zugegriffen werden Auf die statischen Variablen der Klasse, zu der sie gehört, kann direkt zugegriffen werden.
Die Betriebsumgebung dieses Tutorials: Windows7-System, Java8-Version, DELL G3-Computer.
Statische Methoden (oder Klassenmethoden) beziehen sich auf durch statische Methoden geänderte Mitgliedsmethoden.
Der Unterschied zwischen statischen Methoden und Instanzmethoden:
Eine statische Methode kann ohne Instanz der Klasse aufgerufen werden, zu der sie gehört. Daher kann das Schlüsselwort this nicht in einer statischen Methode verwendet werden und auch nicht direkt auf die Klasse zugreifen Klasse, zu der sie gehört, aber Sie können direkt auf statische Variablen und statische Methoden der Klasse zugreifen, zu der sie gehören. Darüber hinaus bezieht sich auch das Schlüsselwort super wie das Schlüsselwort this auf eine bestimmte Instanz der Klasse, sodass das Schlüsselwort super nicht in statischen Methoden verwendet werden kann.
In Instanzmethoden können Sie direkt auf statische Variablen, statische Methoden, Instanzvariablen und Instanzmethoden der Klasse zugreifen, zu der sie gehören.
Beispiel:
Erstellen Sie eine Klasse mit statischen Variablen, fügen Sie mehrere statische Methoden hinzu, um die Werte der statischen Variablen zu ändern, und rufen Sie dann die statischen Methoden in der Methode main () auf und geben Sie die Ergebnisse aus.
public class StaticMethod { public static int count = 1; // 定义静态变量count public int method1() { // 实例方法method1 count++; // 访问静态变量count并赋值 System.out.println("在静态方法 method1()中的 count="+count); // 打印count return count; } public static int method2() { // 静态方法method2 count += count; // 访问静态变量count并赋值 System.out.println("在静态方法 method2()中的 count="+count); // 打印count return count; } public static void PrintCount() { // 静态方法PrintCount count += 2; System.out.println("在静态方法 PrintCount()中的 count="+count); // 打印count } public static void main(String[] args) { StaticMethod sft = new StaticMethod(); // 通过实例对象调用实例方法 System.out.println("method1() 方法返回值 intro1="+sft.method1()); // 直接调用静态方法 System.out.println("method2() 方法返回值 intro1="+method2()); // 通过类名调用静态方法,打印 count StaticMethod.PrintCount(); } }
Das Ergebnis nach der Ausführung dieses Programms ist wie folgt:
在静态方法 method1()中的 count=2 method1() 方法返回值 intro1=2 在静态方法 method2()中的 count=4 method2() 方法返回值 intro1=4 在静态方法 PrintCount()中的 count=6
In diesem Programm wird die statische Variable count als gemeinsame Daten zwischen Instanzen verwendet. Wenn count also in verschiedenen Methoden aufgerufen wird, ist der Wert unterschiedlich. Wie aus diesem Programm hervorgeht, kann die nicht statische Methode method1() nicht in den statischen Methoden method1() und PrintCount() aufgerufen werden, die statischen Methoden method2() und PrintCount() können jedoch in method1() aufgerufen werden Verfahren.
Wenn Sie auf nicht statische Methoden zugreifen, müssen Sie über Instanzobjekte darauf zugreifen. Beim Zugriff auf statische Methoden können Sie direkt, über Klassennamen oder über instanziierte Objekte darauf zugreifen.
Empfehlungen für entsprechende Video-Tutorials: Java-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas sind statische Java-Methoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!