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