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