Probablemente no se pueda hacer (me sale un error de compilación: "El método heredado A.doSomthing (int) no puede ocultar el método abstracto público en B"):Java: ampliando una clase e implementando una interfaz que tiene el mismo método
public class A {
int doSomthing(int x) {
return x;
}
}
public interface B {
int doSomthing(int x);
}
public class C extends A implements B {
//trying to override doSomthing...
int doSomthing(int x) {
return doSomthingElse(x);
}
}
Suponiendo que se me permite cambiar ni a ni B, mi pregunta es ¿hay algún modo de definir C de tal manera que va a heredar de ambos a y B (supongamos que es requerido para algunas marco esa C será a la vez una instancia de A y B).
O si no, ¿cómo solucionarías esto?
Gracias!
favor, informe de su error. No hay nada obviamente incorrecto aquí, excepto quizás un @Overrides que falta si estás usando 1.6. – bmargulies
@bmargulies, no hay 'public' y anular es solo una molestia opcional. – bestsss