Возможно, следующее невозможно сделать (я получаю ошибку компиляции: "Унаследованный метод A.doSomthing(int) не может скрыть публичный абстрактный метод в B" ):
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);
}
}
Предполагая, что мне разрешено изменять ни A, ни B, мой вопрос в том, можно ли каким-то образом определить C таким образом, чтобы он наследовал как от A, так и от B (предположим, что для некоторой структуры требуется, чтобы C было одновременно экземпляр A и B).
Или, если нет, как бы вы обходились?
Спасибо!