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

Perché il metodo main della classe java non può utilizzare il chiave this?

I metodi statici appartengono alla classe e vengono caricati nella memoria insieme alla classe. Puoi chiamarli senza creare un oggetto (usando il nome della classe come riferimento).

Esempio

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Contenuti del metodo statico");
   }
   public static void main(String args[]){
      Sample.demo();
   }
}

Risultato di output

Contenuti del metodo statico

La parola chiave this viene usata come riferimento all'istanza. Poiché i metodi statici non appartengono a nessuna istanza, non puoi usare this nei metodi statici. Se continui a farlo, genererai un errore durante la compilazione.

E inoltre, il metodo main è statico, quindi non puoi usare this nel metodo main.

Esempio

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

Errore durante la compilazione

Sample.java:4: error: variabile non statica this non può essere riferita da un contesto statico
   System.out.println("Contenuti del metodo main"+this.num);
                                                    ^
1 error

Ti potrebbe interessare