Was ist der Unterschied zwischen Instanzmethode und statischer Methode?


Antwort 1:

Das grundlegende Paradigma in Java ist, dass Sie Klassen schreiben und dass diese Klassen instanziiert werden. Instanziierten Objekten (einer Instanz einer Klasse) sind Attribute zugeordnet (Mitgliedsvariablen), die sich auf ihr Verhalten auswirken. Wenn die Methode der Instanz ausgeführt wird, verweist sie auf diese Variablen.

Alle Objekte eines bestimmten Typs können jedoch ein Verhalten aufweisen, das überhaupt nicht von Mitgliedsvariablen abhängig ist. Diese Methoden werden am besten statisch gemacht. Da es statisch ist, ist keine Instanz der Klasse erforderlich, um die Methode auszuführen.

Sie können dies tun, um eine statische Methode auszuführen:

MyObject.staticMethod (); // Verweist einfach auf den statischen Code der Klasse

Um eine nicht statische Methode auszuführen, müssen Sie jedoch Folgendes tun:

MyObject obj = new MyObject (); // Eine Instanz erstellen obj.nonstaticMethod (); // Siehe den Code der Instanzklasse

Auf einer tieferen Ebene enthält der Compiler, wenn er eine Klasse zusammenstellt, mehrere Zeiger auf Methoden. Wenn diese Methoden ausgeführt werden, folgt sie den Zeigern und führt den Code am anderen Ende aus. Wenn eine Klasse instanziiert wird, enthält das erstellte Objekt einen Zeiger auf die "virtuelle Methodentabelle", der auf die Methoden verweist, die für diese bestimmte Klasse in der Vererbungshierarchie aufgerufen werden sollen. Wenn die Methode jedoch statisch ist, wird keine "virtuelle Methodentabelle" benötigt: Alle Aufrufe dieser Methode werden an genau dieselbe Stelle im Speicher verschoben, um genau denselben Code auszuführen. Aus diesem Grund ist es in Hochleistungssystemen besser, eine statische Methode zu verwenden, wenn Sie nicht auf Instanzvariablen angewiesen sind.

https: //stackoverflow.com/questi ...


Antwort 2:

Unterschied zwischen statischen Methoden und Instanzmethoden

  1. Instanzmethoden sind Methoden, bei denen ein Objekt seiner Klasse erstellt werden muss, bevor es aufgerufen werden kann. Statische Methoden sind die Methoden in Java, die aufgerufen werden können, ohne ein Objekt der Klasse zu erstellen. Die statische Methode wird mit dem Schlüsselwort static deklariert. Die Instanzmethode enthält kein statisches Schlüsselwort. Statische Methode bedeutet, dass sie als einzelne Kopie für eine Klasse vorhanden ist. Instanzmethoden sind jedoch abhängig von der Anzahl der für diese Klasse erstellten Instanzen als mehrere Kopien vorhanden. Statische Methoden können mithilfe der Klassenreferenz aufgerufen werden. Instanz- oder nicht statische Methoden werden mithilfe der Objektreferenz aufgerufen. Statische Methoden können nicht direkt auf Instanzmethoden und Instanzvariablen zugreifen. Die Instanzmethode kann direkt auf statische Variablen und statische Methoden zugreifen.

Antwort 3:

Unterschied zwischen statischen Methoden und Instanzmethoden

  1. Instanzmethoden sind Methoden, bei denen ein Objekt seiner Klasse erstellt werden muss, bevor es aufgerufen werden kann. Statische Methoden sind die Methoden in Java, die aufgerufen werden können, ohne ein Objekt der Klasse zu erstellen. Die statische Methode wird mit dem Schlüsselwort static deklariert. Die Instanzmethode enthält kein statisches Schlüsselwort. Statische Methode bedeutet, dass sie als einzelne Kopie für eine Klasse vorhanden ist. Instanzmethoden sind jedoch abhängig von der Anzahl der für diese Klasse erstellten Instanzen als mehrere Kopien vorhanden. Statische Methoden können mithilfe der Klassenreferenz aufgerufen werden. Instanz- oder nicht statische Methoden werden mithilfe der Objektreferenz aufgerufen. Statische Methoden können nicht direkt auf Instanzmethoden und Instanzvariablen zugreifen. Die Instanzmethode kann direkt auf statische Variablen und statische Methoden zugreifen.

Antwort 4:

Unterschied zwischen statischen Methoden und Instanzmethoden

  1. Instanzmethoden sind Methoden, bei denen ein Objekt seiner Klasse erstellt werden muss, bevor es aufgerufen werden kann. Statische Methoden sind die Methoden in Java, die aufgerufen werden können, ohne ein Objekt der Klasse zu erstellen. Die statische Methode wird mit dem Schlüsselwort static deklariert. Die Instanzmethode enthält kein statisches Schlüsselwort. Statische Methode bedeutet, dass sie als einzelne Kopie für eine Klasse vorhanden ist. Instanzmethoden sind jedoch abhängig von der Anzahl der für diese Klasse erstellten Instanzen als mehrere Kopien vorhanden. Statische Methoden können mithilfe der Klassenreferenz aufgerufen werden. Instanz- oder nicht statische Methoden werden mithilfe der Objektreferenz aufgerufen. Statische Methoden können nicht direkt auf Instanzmethoden und Instanzvariablen zugreifen. Die Instanzmethode kann direkt auf statische Variablen und statische Methoden zugreifen.