Heim > Java > JavaBase > Was ist der Unterschied zwischen statischen Methoden und nicht statischen Methoden in Java?

Was ist der Unterschied zwischen statischen Methoden und nicht statischen Methoden in Java?

青灯夜游
Freigeben: 2023-01-13 00:39:55
Original
29071 Leute haben es durchsucht

Unterschiede: 1. Statische Methoden sind Methoden, die mit dem Schlüsselwort static geändert werden und zu Klassen und nicht zu Objekten gehören. Nicht statische Methoden sind gewöhnliche Methoden, die nicht mit dem Schlüsselwort static geändert werden und zu Objekten und nicht zu Klassen gehören. 2. Statische Methoden können direkt aufgerufen werden, Klassennamenaufrufe und nicht statische Methoden können nur über Objekte aufgerufen werden. 3. Unterschiedliche Lebenszyklen.

Was ist der Unterschied zwischen statischen Methoden und nicht statischen Methoden in Java?

Die Betriebsumgebung dieses Tutorials: Windows7-System, Java8-Version, DELL G3-Computer.

1. Der Unterschied zwischen statischen Methoden und nicht statischen Methoden (aufrufende Objekte und Referenzvariablen sind unterschiedlich)

Statische Methode: Es handelt sich um eine mit dem Schlüsselwort static modifizierte Methode, die auch als Klassenmethode bezeichnet wird Klasse, nicht für das Objekt. Sie können statische Methoden über Klassenname.Methodenname aufrufen, bevor Sie das Objekt instanziieren. (Statische Attribute und statische Methoden gehören zu Klassen und können direkt über den Klassennamen aufgerufen werden.)

A. In einer statischen Methode können Sie eine statische Methode aufrufen.

B. In statischen Methoden können nicht statische Methoden nicht aufgerufen werden.

C. In einer statischen Methode können Sie auf Klassenvariablen (dh statisch geänderte Variablen) verweisen.

D. In einer statischen Methode kann nicht auf Mitgliedsvariablen verwiesen werden (d. h. auf Variablen ohne statische Änderung).

E. In statischen Methoden können die Schlüsselwörter super und this nicht verwendet werden.

Nicht-statische Methode: Es handelt sich um eine gewöhnliche Methode, die keine statische Schlüsselwortänderung enthält, die auch als Instanzmethode und Mitgliedsmethode bezeichnet wird. Gehört zu Objekten, nicht zu Klassen. (Mitgliedsattribute und Mitgliedsmethoden gehören zu Objekten und müssen über das Schlüsselwort new erstellt und dann über das Objekt aufgerufen werden.)

A. In gewöhnlichen Methoden können gewöhnliche Methoden aufgerufen werden.

B. In gewöhnlichen Methoden können Sie statische Methoden aufrufen

C In gewöhnlichen Methoden können Sie die Schlüsselwörter super und this verwenden

. Der Unterschied zwischen statischen Methoden und nicht statischen Methoden (verschiedene Aufrufmethoden)

Statische Methoden können direkt aufgerufen werden, Klassennamenaufrufe und Objektaufrufe. (Klassenname. Methodenname / Objektname. Methodenname)

Aber nicht statische Methoden können nur über Objekte aufgerufen werden. (Objektname. Methodenname)

3. Der Unterschied zwischen statischen Methoden und nicht statischen Methoden (unterschiedliche Lebenszyklen)

Der Lebenszyklus einer statischen Methode ist so lang wie die entsprechende Klasse statischer Methoden und statischer Variablen wächst mit der definierten und in den Speicher geladenen Klasse. Statische Eigenschaften und Methoden werden erst zerstört, wenn der Thread endet. (Das heißt, statische Methoden gehören zu Klassen)

Der Lebenszyklus nicht statischer Methoden ist so lang wie das instanziierte Objekt der Klasse. Nur wenn die Klasse ein Objekt instanziiert, wird die nicht statische Methode erstellt Das Objekt wird zerstört. Nicht statische Methoden werden ebenfalls sofort zerstört. (Das heißt, nicht statische Methoden gehören zu Objekten)

Zusammenfassung: Klassenmethoden können direkt über den Klassennamen aufgerufen werden. Instanzmethoden müssen zuerst die Klasse instanziieren, dann das Objekt initialisieren und es dann über das Instanzobjekt aufrufen Klasse

Beispiel:

class XYZ{
public static void main(String[] str){
     XYZ.testStatic();         //直接通过类调用

     XYZ a = new XYZ();        //实例化,然后构造方法会初始化
     a.testMethod();           //对象调用方法
}

public static void testStatic(){
System.out.println("This is static method");
}

public void testMethod(){
System.out.println("This is instance method");
}
}
Nach dem Login kopieren

statische Statische Variablen/Methoden werden während des Klassenladevorgangs initialisiert und existieren nur im Speicher, sodass sie als globale Variablen/Methoden betrachtet werden können.

Empfehlungen für entsprechende Video-Tutorials:

Java-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen statischen Methoden und nicht statischen Methoden in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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