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

¿Por qué el método main de la clase java no puede usar la palabra clave this?

Los métodos estáticos pertenecen a la clase y se cargarán en la 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, no se puede usar la referencia this en métodos estáticos. Si aún así, intente hacerlo, lo que generará un error en tiempo de compilación.

Además, el método main es estático, por lo que no puede usar la referencia this en el método main. Si lo hace, generará un error en tiempo de compilación.

Ejemplo

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

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 principal"+this.num);
                                                    ^
1 error

Te gustará