Java: uso de la variable super
La variable especial super refiere a la superclase de la clase actual.
Cuando se declara una clase heredando explícitamente de otra como en el código siguiente:
El uso de super es opcional pero, en caso de utilizarse, ha de ser obligatoriamente la primera sentencia del constructor. Si no se utiliza, el compilador inserta la sentencia super() al comienzo de cada método constructor de la subclase.
Super permite acceder, desde la subclase, a los métodos y las variables de la superclase. Por ejemplo, el código:
declara una clase que hereda de JFrame (superclase) y en el método constructor
usa super con un parámetro String. Puesto que super es JFrame,
en realidad se está declarando un objeto JFrame usando uno de sus constructores,
el que lleva como argumento un String que hace de título de la ventana.
La línea super("Ventana JFrame") equivale a this.setTitle("Ventana JFrame").
Teniendo en cuenta que this es otra variable especial que se usa en métodos
de instancia para hacer referencia al objeto en el que está contenido el método,
this.setTitle("Ventana JFrame") equivale a unFrame.setTitle("Ventana JFrame").
Super también permite sobreescribir un método de la superclase añadiéndole nuevas funcionalidades. Por ejemplo, el código:
permite ampliar la funcionalidad del método hacerAlgo() de la superclase, sobreescribiéndolo con el método hacerAlgo() de la subclase.