Метод переопределения с универсальным типом возврата

Допустим, у меня есть суперкласс, который определяет следующий абстрактный метод

public abstract <T extends Interface> Class<T> getMainClass();

Теперь, если я хочу переопределить его в каком-то подклассе

public Class<Implementation> getMainClass(){
    return Implementation.class;
}

Я получаю предупреждение о безопасности типов и неконтролируемом преобразовании:

Безопасность типов: возвращаемый тип Class для getMainClass () из типа SubFoo требуется неконтролируемое преобразование для соответствия Class из типа SuperFoo

Не Class подпадает под Class if ? Есть ли способ избавиться от этого предупреждения?

6
задан Joachim Sauer 28 February 2011 в 16:53
поделиться