159.super (palabra reservada)

Cuando una clase B extiende a otra A

class B extends A { ... }

 

los miembros (valores y métodos) no privados de la clase A son accesibles en B usando el prefijo “super.”, incluso si el método ha sido redefinido en B.

class Punto2D

public class Punto2D {

   private double x, y;

 

   public void set(double[] coordenadas) {

      this.x = coordenadas[0];

      this.y = coordenadas[1];

   }

}

class Punto3D extends Punto2D

public class Punto3D extends Punto2D {

   private double z;

 

   public void set(double[] coordenadas) {

      super.set(coordenadas);

      this.z = coordenadas[2];

   }

}

 

Una clase sólo puede referirse a su madre inmediata, no se pueden dar 2 saltos "hasta la abuela".

Temas relacionados

Vademécum
super en constructores