Cuando tienes objetos, y haces que una clase herede las caracteristicas de otra, usando "extends" es necesario que crees los constructores, pero muchos de ellos (por cuestion de elegancia) se denotan con el mismo nombre de la clase padre o superclase, entonces para poder distinguir a que te refieres, usas this para la subclase y super para la superclase.
/** * La palabra reservada super sirve para indicar que una variable o un método * es de la superclase, acuerdense de la heréncia. * Les pongo un codigo para que entendais su uso. * En este codigo la superclase y la subclase tienen una variable y * un método que tienen el mismo nombre, pero que hacen funciones diferentes, * y los distingimos usando super. */ package pkgsuper; public class Super { public static void main(String[] args) { SubClase objetoPrueba = new SubClase(); objetoPrueba.setVariableBool(); } }
package pkgsuper;
public class SubClase extends SuperClase{ boolean variableBool; void setVariableBool() { variableBool = false; super.setVariableBool(); System.out.println("La variable de aqui es " + variableBool); System.out.println("La de la superclase es " + super.variableBool); } }
package pkgsuper;
public class SuperClase { boolean variableBool; void setVariableBool() { variableBool = true; }
}