super en Java

Siddharth Swami 12 octubre 2023
super en Java

En Java, tenemos una palabra clave predefinida super que está algo relacionada con la clase padre. Discutiremos la función super en detalle en este tutorial.

En Java, la palabra clave super actúa como una variable de referencia para los objetos de la clase principal. Se puede usar para llamar a los métodos y variables de clase de los padres.

Por ejemplo

class Teacher { // Parent class
  int grade = 90;
}

class Students extends Teacher { // subclass
  Students() {
    System.out.println("Grade " + super.grade);
  }
}

public class Main {
  public static void main(String[] args) {
    Students s = new Students();
  }
}

Producción :

Grade 90

En el ejemplo anterior, accedimos a la variable grado de la clase principal Profesor del constructor de su subclase Estudiantes utilizando la palabra clave super.

También tenemos la función super(), que invoca el constructor de la clase del padre. Esta función solo se usa para llamar a los constructores de la clase padre. Se pueden llamar tanto constructores paramétricos como no paramétricos usando la función super(). Si de alguna manera el constructor no invoca un constructor de superclase explícitamente mientras usa la función super(), entonces el compilador de Java llama al constructor sin argumentos de la superclase.

Vea el código a continuación.

class Teacher { // Parent class

  Teacher() // constructor
  {
    System.out.println("Teacher class Constructor");
  }
}
class Students extends Teacher { // subclass
  Students() {
    super();
    System.out.println("Students class Constructor");
  }
}

public class Main {
  public static void main(String[] args) {
    Students s = new Students();
  }
}

Producción :

Teacher class Constructor
Students class Constructor

Creamos una clase principal Teacher y un constructor de clase principal en el código anterior, que imprime un mensaje. Luego se amplía una subclase Students de Teacher, que tiene un constructor Students() que consiste en la función super() para invocar el constructor de la clase padre. Luego tenemos la clase principal, que llama a la subclase para ejecutar el programa. La función super() invocaba al constructor de la clase principal para imprimir el mensaje de la clase principal y luego de la subclase.

Artículo relacionado - Java Class