logo

Statische Methode vs. Instanzmethode in Java

In Java definieren Methoden das Verhalten von Klassen und Objekten. Um sauberen und effizienten Code zu schreiben, ist es wichtig, den Unterschied zwischen statischen Methoden und Instanzmethoden zu verstehen.

Was ist eine statische Methode?

A statische Methode gehört zur Klasse und nicht zu einem bestimmten Objekt.

  • Kann aufgerufen werden, ohne eine Instanz der Klasse zu erstellen.
  • Da statische Methoden objektspezifisch sind, können sie nur auf statische Elemente (Daten und Methoden) und nicht auf nicht statische Elemente zugreifen.
Java
import java.io.*; class Geeks {  // static method  public static void greet() {  System.out.println('Hello Geek!');  }  public static void main(String[] args) {  // calling the method directily  greet();  // using the class name  Geeks.greet();  } } 

Ausgabe
Hello Geek! Hello Geek! 

Erläuterung: Das obige Beispiel zeigt eine statische Methode „greet()“ innerhalb der Geeks-Klasse. Statische Methoden können aufgerufen werden, ohne ein Objekt zu erstellen. In der Hauptmethode erstellen wir kein Objekt der Geek-Klasse, sondern rufen die Methode direkt mit dem Klassennamen Geeks auf und drucken dann die Ausgabe.



Was ist eine Instanzmethode?

Ein Instanzmethode gehört zu einem Objekt.

  • Es muss eine Instanz der aufzurufenden Klasse erstellt werden.
  • Kann auf Instanzvariablen, andere Instanzmethoden und statische Mitglieder der Klasse zugreifen.
  • Zugriff haben auf thisReferenz was auf das aktuelle Objekt zeigt.
Java
import java.io.*; class Test {  String n = '';  // Instance method   public void test(String n) {   this.n = n;   } } class Geeks {  public static void main(String[] args) {  // create an instance of the class  Test t = new Test();  // calling an instance method in the class 'Geeks'  t.test('GeeksforGeeks');  System.out.println(t.n);  } } 

Ausgabe
GeeksforGeeks 

Erläuterung: Das obige Beispiel zeigt, wie eine Instanzmethode in Java verwendet wird. Wir erstellen ein Objekt der Testklasse und rufen die Testmethode auf, um einen Wert festzulegen, und drucken dann die Ausgabe aus.

Unterschied zwischen statischer Methode und Instanzmethode

Die folgende Tabelle listet die auf  große Unterschiede zwischen den statischen Methoden und den Instanzmethoden in Java.

Merkmale

s in Python

Statische Methode

Instanzmethode

Definition

Erstellt mit dem Schlüsselwort static und abgerufen, ohne ein Objekt zu erstellen.

Erfordert den Aufruf eines Objekts seiner Klasse.

Zugang

Greifen Sie nur auf statische Variablen und Methoden zu.

einfacher Datumsformatierer in Java

Kann sowohl auf statische als auch auf Instanzmitglieder zugreifen.

this Stichwort

Kann nicht verwendet werden Das Schlüsselwort innerhalb statischer Methoden.

Kann das Schlüsselwort this verwenden, um auf das aktuelle Objekt zu verweisen.

Überschreiben

Unterstützt keinen Laufzeitpolymorphismus

Unterstützt Laufzeitpolymorphismus

Speicherzuweisung

Wird einmal pro Klasse geladen

Jedes Objekt hat seine eigene Kopie


Quiz erstellen