English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Warum kann das Main-Methode der java-Klasse das Schlüsselwort this nicht verwenden?

Statische Methoden gehören zur Klasse und werden zusammen mit der Klasse in den Speicher geladen. Sie können sie ohne das Erstellen eines Objekts aufrufen. (Verwenden Sie den Klassennamen als Referenz).

Beispiel

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Inhalt der statischen Methode");
   }
   public static void main(String args[]){
      Sample.demo();
   }
}

Ausgaberesultat

Inhalt der statischen Methode

Das Schlüsselwort "this" wird als Referenz auf das Beispiel verwendet. Da statische Methoden keine (gehören) zu irgendeinem Beispiel haben, können sie "this" nicht in statischen Methoden verwenden. Wenn Sie das dennoch tun, wird ein Kompilierungsfehler generiert.

Und der main-Methode ist statisch, daher können Sie "this" nicht im main-Methode verwenden, um eine Referenz zu machen.

Beispiel

public class Sample{
   int num = 50;
   public static void main(String args[]){
      System.out.println("Inhalt des Hauptmethods"+this.num);
   }
}

Kompilierungsfehler

Sample.java:4: Fehler: non-static Variable this kann nicht aus einem statischen Kontext referenziert werden
   System.out.println("Inhalt des Hauptmethods"+this.num);
                                                    ^
1 Fehler

Vielleicht gefällt dir auch