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

È possibile utilizzare la parola chiave this nei metodi statici di Java?

I metodi statici appartengono a questa classe e vengono caricati nella memoria insieme alla classe. Possono essere chiamati 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 dell'output

Contenuti del metodo statico

Il termine "this" viene usato per riferirsi all'istanza. Poiché i metodi statici non appartengono a nessuna istanza,Di conseguenza, non si può usare il termine "this" per riferirsi a variabili non statiche in un metodo staticoSe è ancora così, provi a fare così, questo genererà un errore durante la compilazione.

Esempio

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

Errore durante la compilazione

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