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

¿Se puede usar la palabra clave this en un método estático de Java?

Los métodos estáticos pertenecen a la clase, y se cargarán en memoria junto con la clase. Pueden ser llamados sin crear un objeto. (Usando el nombre de la clase como referencia).

Ejemplo

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Contenido del método estático ");
   }
   public static void main(String args[]){
      Sample.demo();
   }
}

Resultados de salida

Contenido del método estático

La palabra clave "this" se utiliza como referencia a la instancia. Dado que los métodos estáticos no pertenecen a ninguna instancia,Por lo tanto, no se puede usar "this" en métodos estáticos。Si aún así, intente hacerlo de esta manera, lo que generará un error en tiempo de compilación.

Ejemplo

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Contenido del método estático ")+this.num);
   }
   public static void main(String args[]){
      Sample.demo();
   }
}

Error en tiempo de compilación

Sample.java:4: error: no-La variable estática "this" no puede ser referenciada desde un contexto estático
   System.out.println("Contenido del método estático ")+this.num);
                                                      ^
1 error