Statische vs. nicht statische Methode
Eine Methode ist eine Reihe von Anweisungen, die zur Ausführung einer bestimmten Aufgabe ausgeführt werden. Methoden können Eingaben aufnehmen 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 mit einem Objekt verknüpfte Methode wird als nicht statische (Instanz-) Methode bezeichnet. In objektorientierten Sprachen werden Methoden als Mechanismus verwendet, um Daten zu bearbeiten, 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 aufgerufen werden, ohne ein Objekt der Klasse zu verwenden, die die statische Methode enthält. Im Folgenden finden Sie ein Beispiel zum Definieren einer statischen Methode in Java. Die Statik muss verwendet werden, wenn eine statische Methode in Java definiert wird.
öffentliche Klasse MyClass public static void MyStaticMethod () // Code der statischen MethodeDie oben definierte statische Methode kann mit dem Namen der Klasse, zu der sie gehört, wie folgt aufgerufen werden.
MyClass.MyStaticMethod ();
Zu beachten ist, dass statische Methoden nur auf statische Member 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 auf nicht statische Member sowie auf statische Member einer Klasse zugreifen. In vielen objektorientierten Sprachen (z. B. C ++, C #, Java) wird beim Aufruf 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 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.
öffentliche Klasse MyClass public void MyInstanceMethod () // Code der Instanzmethode
Die oben definierte Instanzmethode könnte mit einem Objekt der Klasse, zu der sie gehört, folgendermaßen aufgerufen werden.
MyClass objMyClass = new MyClass ();
objMyClass.MyInstanceMethod ();
Was ist der Unterschied zwischen statischen und nicht statischen Methoden??
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. Statische Methoden haben jedoch keine Anforderung. 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 hat, das die Methode aufgerufen hat, und auf das mit diesem Schlüsselwort innerhalb der Methode zugegriffen werden kann. Dieses Schlüsselwort kann jedoch nicht in statischen Methoden verwendet werden, da es keinem bestimmten Objekt zugeordnet ist.