Unterschied Zwischen Statischer Und Nicht Statischer Methode

Unterschied Zwischen Statischer Und Nicht Statischer Methode
Unterschied Zwischen Statischer Und Nicht Statischer Methode

Video: Unterschied Zwischen Statischer Und Nicht Statischer Methode

Video: Unterschied Zwischen Statischer Und Nicht Statischer Methode
Video: 11 Static – Statische Attribute und Methoden 2024, November
Anonim

Statische vs nicht statische Methode

Eine Methode ist eine Reihe von Anweisungen, die ausgeführt werden, um eine bestimmte Aufgabe auszuführen. Methoden können Eingaben nehmen und Ausgaben erzeugen. Statische und nicht statische Methoden sind zwei Arten von Methoden, die in objektorientierten Programmiersprachen vorhanden sind. Eine statische Methode ist eine Methode, die einer Klasse zugeordnet ist. Eine Methode, die einem Objekt zugeordnet ist, wird als nicht statische (Instanz-) Methode bezeichnet. In objektorientierten Sprachen werden Methoden als Mechanismus verwendet, um Daten zu verarbeiten, die in Objekten gespeichert sind.

Was ist eine statische Methode?

Bei der objektorientierten Programmierung ist die statische Methode eine Methode, die einer Klasse zugeordnet ist. Daher können statische Methoden nicht mit einer bestimmten Instanz einer Klasse arbeiten. Statische Methoden können ohne Verwendung eines Objekts der Klasse aufgerufen werden, die die statische Methode enthält. Im Folgenden finden Sie ein Beispiel für die Definition einer statischen Methode in Java. Die statische Methode muss beim Definieren einer statischen Methode in Java verwendet werden.

öffentliche Klasse MyClass {public static void MyStaticMethod () {// Code der statischen Methode}

}

Die oben definierte statische Methode kann unter Verwendung des Namens der Klasse, zu der sie gehört, wie folgt aufgerufen werden.

MyClass. MyStaticMethod ();

Eine wichtige Sache zu beachten ist, dass statische Methoden nur auf statische Mitglieder zugreifen können.

Was ist eine nicht statische Methode?

Eine nicht statische Methode oder eine Instanzmethode ist eine Methode, die einem Objekt in einer Klasse zugeordnet ist. Daher werden nicht statische Methoden mit einem Objekt der Klasse aufgerufen, in der die Methode definiert ist. Eine nicht statische Methode kann sowohl auf nicht statische als auch auf statische Mitglieder einer Klasse zugreifen. In vielen objektorientierten Sprachen (wie C ++, C #, Java) wird beim Aufrufen einer nicht statischen Methode das Objekt, das die Methode aufgerufen hat, als implizites Argument übergeben (es wird als 'this'-Referenz bezeichnet). Innerhalb der Methode kann dieses Schlüsselwort also verwendet werden, um auf das Objekt zu verweisen, das die Methode aufgerufen hat. Im Folgenden finden Sie ein Beispiel für die Definition einer Instanzmethode in Java.

öffentliche Klasse MyClass {public void MyInstanceMethod () {// Code der Instanzmethode}

}

Die oben definierte Instanzmethode kann unter Verwendung eines Objekts der Klasse, zu der es gehört, wie folgt aufgerufen werden.

MyClass objMyClass = new MyClass ();

objMyClass. MyInstanceMethod ();

Was ist der Unterschied zwischen statischer und nicht statischer Methode?

Statische Methoden sind Methoden, die einer Klasse zugeordnet sind, während nicht statische Methoden Methoden sind, die Objekten einer Klasse zugeordnet sind. Eine Klasse muss zuerst instanziiert werden, um eine nicht statische Methode aufzurufen, für statische Methoden ist diese Anforderung jedoch nicht erforderlich. Sie können einfach mit dem Namen der Klasse aufgerufen werden, die die statische Methode enthält. Ein weiterer wichtiger Unterschied besteht darin, dass eine nicht statische Methode normalerweise einen Verweis auf das Objekt besitzt, das die Methode aufgerufen hat, und dass mit dem Schlüsselwort this in der Methode auf sie zugegriffen werden kann. Dieses Schlüsselwort kann jedoch nicht in statischen Methoden verwendet werden, da sie keinem bestimmten Objekt zugeordnet sind.

Empfohlen: