Statische und nicht-statische Methoden in Java verstehen
In Java können Methoden entweder als statisch oder nicht-statisch klassifiziert werden (auch sogenannte Instanzmethoden). Diese Unterscheidung ergibt sich aus ihrer Zugänglichkeit und Abhängigkeit von Klasseninstanzen.
Statische Methoden
Statische Methoden sind an die Klasse selbst gebunden und nicht an bestimmte daraus erstellte Objekte. Sie können aufgerufen werden, ohne eine Instanz der Klasse zu erstellen, wodurch sie effizienter für Vorgänge sind, die nicht von einzelnen Objektmerkmalen abhängen.
Im bereitgestellten Codeausschnitt (Code 1) ist beispielsweise die Add-Methode enthalten statisch. Es nimmt zwei ganze Zahlen als Parameter und addiert sie einfach. Auf diese Methode kann direkt über A.add(...) zugegriffen werden, wodurch ihr Geltungsbereich auf Klassenebene hervorgehoben wird.
Nichtstatische (Instanz-)Methoden
Nichtstatisch Methoden hingegen sind mit Objekten verknüpft, die von der Klasse instanziiert werden. Sie können nur aufgerufen werden, nachdem ein Objekt erstellt wurde.
In Code 2 ist die Add-Methode als nicht statisch definiert. Um es zu verwenden, müssen wir zunächst die A-Klasse instanziieren, indem wir ein Objekt (a) erstellen. Die Methode wird dann für dieses Objekt mit a.add(...) aufgerufen.
Unterschied in der Verwendung
Der Hauptunterschied zwischen statischen und nicht statischen Methoden liegt in ihrer Abhängigkeit von Objektinstanzen. Bei statischen Methoden muss im Gegensatz zu nicht statischen Methoden keine Instanz der Klasse aufgerufen werden.
Für Operationen, die unabhängig von bestimmten Objekteigenschaften sind (z. B. Dienstprogrammfunktionen), wird aus Effizienzgründen die Verwendung statischer Methoden bevorzugt . Für Operationen, die von einzelnen Objektzuständen abhängen (z. B. Zugriff auf Instanzvariablen), sind nicht statische Methoden erforderlich.
Das obige ist der detaillierte Inhalt vonStatische vs. nichtstatische Methoden in Java: Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!