В моем коде есть следующий абстрактный суперкласс
public abstract class AbstractClass<Type extends A> {...}
и некоторые дочерние классы, такие как
public class ChildClassA extends AbstractClass<GenericTypeA> {...}
public class ChildClassB extends AbstractClass<GenericTypeB> {...}
Я ищу элегантный способ использования универсального типадочерних классов (GenericTypeA, GenericTypeB, ...) внутри абстрактного класса универсальным способом.
Для решения этой проблемы в настоящее время я определил метод
protected abstract Class<Type> getGenericTypeClass();
в своем абстрактном классеи реализовал метод
@Override
protected Class<GenericType> getGenericTypeClass() {
return GenericType.class;
}
в каждом дочернем классе.
Возможно ли получить обобщенный тип дочерних классов в моем абстрактном классе без реализации этого вспомогательного метода?
BR,
Markus