En "el lenguaje de programación Java ™, cuarta edición" Por Ken Arnold, James Gosling, David Holmes, su mencionado que:Java Interfaz: Herencia de primer orden, y, Métodos Sobrecarga
párrafo: (4.3.2) "De manera similar, si una interfaz hereda más de un método con la misma firma, o si una clase implementa interfaces diferentes que contienen un método con la misma firma, solo hay un método de este tipo. La implementación de este método está definida en última instancia por la clase que implementa las interfaces, y no hay ambigüedad allí. Si los métodos tienen la misma firma pero diferentes tipos de devolución, entonces uno de los tipos de devolución debe ser un subtipo de todos los demás, de lo contrario un error en tiempo de compilación. La aplicación debe definir un método que devuelve ese subtipo común ".
¿Alguien puede dar un código de ejemplo que justifica los puntos del párrafo anterior?
Traté de escribir el código y probar lo que se menciona pero yo estoy recibiendo en tiempo de compilación de error la sub-interfaz oculta el método de interfaz de base de manera que sólo puede implementar el método sub-interfaz.
Gracias de antemano. -Arun
¿Puede mostrar el código? –
publica tu código y tus errores de compilación tipo ... al menos danos algo para (a) reproducir el problema; y (b) ir desde allí. – corlettk
Todo el mundo lo siento mucho. Estaba intentando probar lo que se mencionó en el párrafo mencionado anteriormente usando j2sdk1.4.2_08. No me di cuenta de que el libro está escrito para JDK1.5 Eso significa que si compila el fragmento de código por "Daniel Schneller" usando JDK1.4 obtendrás un "ImplementationOfAandB.java:17: methodB() en ImplementationOfAandB no puede implementar methodB() en InterfaceA; intentando usar el tipo de retorno incompatible" error de compilación mientras que con JDK1.5 solo ejecuta multa. – akjain