Unterschied zwischen statischer und nicht statischer Methode

Anonim

Statisch vs. Nicht statisch

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

Was ist eine statische Methode?

Bei der objektorientierten Programmierung ist die statische Methode eine Methode, die einer Klasse zugeordnet ist. Daher haben statische Methoden nicht die Möglichkeit, auf einer bestimmten Instanz einer Klasse zu arbeiten. Statische Methoden können aufgerufen werden, ohne ein Objekt der Klasse zu verwenden, die die statische Methode enthält. Es folgt ein Beispiel für das Definieren einer statischen Methode in Java. Die statische Methode muss beim Definieren einer statischen Methode in Java verwendet werden.

Public static void MyStaticMethod () { // Code der statischen Methode } } Die oben definierte statische Methode könnte wie folgt aufgerufen werden, indem der Name der Klasse verwendet wird, zu der sie gehört.
MyClass. MyStaticMethod ();

Wichtig ist, dass statische Methoden nur auf statische Elemente 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. Nicht statische Methoden werden daher mit einem Objekt der Klasse aufgerufen, in der die Methode definiert ist. Eine nicht statische Methode kann auf nicht statische Member sowie statische Member einer Klasse zugreifen. Wenn eine nicht statische Methode aufgerufen wird, wird das Objekt, das die Methode aufruft, als implizites Argument übergeben (diese Referenz wird als "this" bezeichnet). In vielen objektorientierten Sprachen (wie C ++, C #, Java) Innerhalb der Methode kann dieses Schlüsselwort verwendet werden, um auf das Objekt zu verweisen, das die Methode aufgerufen hat. Im Folgenden finden Sie ein Beispiel zum Definieren einer Instanzmethode in Java.

public void MyInstanceMethod ()

{

// Code der Instanzmethode

} } Die oben definierte Instanzmethode könnte wie folgt aufgerufen, indem ein Objekt der Klasse verwendet wird, zu der es gehört. 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, aber statische Methoden haben diese Anforderung nicht.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 nichtstatische Methode normalerweise einen Verweis auf das Objekt besitzt, das die Methode aufgerufen hat und auf das innerhalb der Methode mit diesem Schlüssel zugegriffen werden kann. Dieses Schlüsselwort kann jedoch nicht in statischen Methoden verwendet werden, da es keinem bestimmten Objekt zugeordnet ist.