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

¿Se puede usar la palabra clave super en métodos estáticos de Java?

Texto

donde los métodos estáticos o bloques de Java pertenecen a la clase, que se cargarán junto con la clase en la memoria. Puede llamar a métodos estáticos sin crear un objeto. (Utilice el nombre de la clase como referencia). super " como referencia a un objeto de superclase. Esto significa que para usar el método "super", debe ser llamado por un objeto que llama al método, y no por un método estático.

Por lo tanto, no se puede utilizar la palabra clave " super la palabra clave

Ejemplo

En el siguiente programa Java, la clase ThisExample contiene una clase con métodos setter y getter y métodos de instanciadisplay()la variable privadaNombreDesde el método main (método estático), intentamos llamar al método display() utilizando la palabra clave this.

class SuperClass{
   protected String name;
}
public class SubClass extends SuperClass {
   private String name;
   public static void setName(String name) {
      super.name = name;
   }
   public void display() {
      System.out.println("name: "+super.name);
   }
   public static void main(String args[]) {
      new SubClass().display();
   }
}

Error en tiempo de compilación

SubClass.java:7: error: non-La variable estática super no puede ser referenciada desde un contexto estático
   super.name = name;
   ^
1 error
Te gustará