Tengo dos interfaces Java y una clase implementadora.Dos interfaces con la misma firma de método implementada en la clase Java
(he utilizado Eclipse para ejecutar el programa directamente, y yo no tratar de comprobar cualquier compilador de advertencia etc. mediante la compilación de forma explícita desde la línea de comandos.)
¿Por qué corren sin problema? ¿Por qué Java lo permite, incluso cuando satisface el "contrato" de ambas interfaces pero crea ambigüedad en la implementación de la clase?
Actualizado el ejemplo.
public interface CassettePlayer {
void play();
}
public interface DVDPlayer {
void play();
}
public class CarPlayer implements CassettePlayer,DVDPlayer{
@Override
public void play() {
System.out.println("This plays DVD, screw you Cassette !");
}
public static void main(String args[]) {
CarPlayer cp = new CarPlayer();
cp.play();
CassettePlayer firstInterface = new CarPlayer();
firstInterface.play();
DVDPlayer secondInterface = new CarPlayer();
secondInterface.play();
}
}
¿por qué deberían tener un problema? Esa es la pregunta;) –
Si desea podía tener una clase abstracta con un método 'sayHello' y hacer que' Sample' extendiera la clase abstracta. Tampoco habría ningún problema. – emory
Gracias amigo, tuve la misma pregunta ... – orchidrudra