Вы говорите о том факте, что дженерики инвариантны в Java.
кто-нибудь объяснить мне, почему
@Override
public void fooMethod(Class<?> c)
не переопределяет
public void fooMethod(Class c)
и дает мне следующие ошибки вместо:
- Name clash: The method fooMethod(Class<?>) of type SubClass has the same erasure as fooMethod(Class) of type SuperClass but does not override it - The method fooMethod(Class<?>) of type SubClass must override a superclass method
?
Редактировать: "java -version
"говорит Java (TM) 2 Runtime Environment, Standard Edition (сборка 1.5.0_16-b06-284). Что касается фрагмента кода, он уже выше, в значительной степени; вышеизложенный расширяет следующий.