This y super
Estas palabras se utilizan con la herencia de Clases en Java.
Sirven para hacer referencia a una Clase u otra, como ya hemos visto por encima en la lección anterior, con la palabra this.
Y es que, como ya sabemos, al heredar una Clase de otra, la Clase que es heredada contiene los mismos atributos y métodos que su SuperClase que se llama.
Es decir, en nuestros ejemplos sería
SUPERCLASE => Coche
SUBCLASE => Coche_Carreras
Todas las Clases que hereden a la Clase Coche, serán sus SubClases...Y las Clases heredadas tendrán como SuperClase a la Clase Coche.
Para ver mejor todo este tema, vamos a crear un nuevo Método en la Clase Coche_Carreras:
Un método sencillo para obtener la competición en la cual compite ese Coche de Carreras.
Una vez hecho esto, vamos a ver para qué sirven estas dos palabras "this" y "super". Primero hay que dejar claro que son términos que se utilizan en el constructor de una Clase.
Así que nos vamos al constructor de Coche_Carreras y escribimos lo siguiente: super.
Nos aparece la siguiente ventana con las opciones que podemos utilizar. Como observaréis, no aparece ni la variable String "competicion" y tampoco aparece el nuevo método que hemos creado en esta Clase. ¿Por qué?
Pues porque al escribir "super", estamos indicando a Java que se trata de la SuperClase, en este caso la Clase Coche, y esa Clase no tiene el atributo "competicion" ni el método de ObtenerCompeticion().
¿Cómo accedemos al nuevo método entonces? Para está el this.
Observad como ahora si podemos acceder a esos datos. Porque "this" se refiere a la Clase propia donde estamos, en este caso Coche_Carreras.