我有一个抽象类,用于测试父类的子类。
class ParentTest<T extends Parent> {
ParentTest(final Class<? extends T> childClass) {
super();
this.childClass = requireNonNull(childClass, "childClass is null");
}
protected final Class<? extends T> childClass;
}
现在,子类具有其自己的类型参数。
class ChildTest<T> extends ParentTest<ChildClass<T>> {
ChildTest() {
super(Child.class); // @@? error
super(Child<T>.class); // @@? error
}
}
我发现的唯一可行的方法就是这个。
class ChildTest<T> extends ParentTest<ChildClass> { // << !!
ChildTest() {
super(Child.class);
}
}
这正常吗?