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 и B).

Или, если нет, как бы вы обойти это?

Спасибо!

23
задан pcalcao 13 October 2011 в 23:08
поделиться