【发布时间】:2010-06-29 08:30:23
【问题描述】:
在我的代码中有以下抽象超类
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,
马库斯
【问题讨论】:
标签: java generics class abstract-class