Hola!, me ha surgido una duda sobre las interfaces en Java.
Vereis, tengo una clase abstracta llamada Docente, dicha clase tiene un atributo que se llama antiguedad, tambien tiene un metodo que obtiene la antiguedad, (obtAntiguedad). Dicha clase tendra mas abajo clases que se puedan instanciar.
En otra parte de la jerarquia tengo una clase que se llama ProfAyudante dicha clase tambien tiene un atributo antiguedad, su correspondiente metodo obtAntiguedad.
De los Docentes se tiene que saber su antiguedad, y de los profesores ayudantes lo mismo. Es por esta razon que se me ha ocurrido hacer lo que os he comentado arriba. Para hace esto, Java a no soportar herencia multiple, luego hay que hacerlo mediante interfaces. Creo una interfaz Profesor, con el metodo obtAntiguedad(). Solo pongo la cabecera del metodo.
Despues tanto en la clase Docente y ProfAyudante, implemento el metodo.
Todo normal (al menos eso es lo que yo creo), ejecuto y funciona. Pero.......resulta que me da por quitar el implements Profesor tanto de la clase Docente como de la de ProfAyudante, y veo que el programa funciona igualmente. En teoria eso no deberia de pasar, (deberia de darme algun error ya que uso interface, para que sepa el programa que el metodo obtAntiguedad() es implementado en las 2 clases anteriores).
Entonces , ¿que es lo que ocurre? Yo creo de pudiera ser que aun habiendo quitando el implements, el programa a la hora de ejecutar coge los metodos obtAntiguedad(), como si fueran propios de la clase, olvidandose de la interfaz declarada. Aunque tal y como yo he hecho el ejercicio deberia de darme algun error ya que la finalidad de este es hacerlo con interfaces. Pero no se........
La verdad es que me ha dejado trastocado.
A ver si alguien puede saber a que es debido esto.
Un Saludo.