如何在Class中指定类型参数?

时间:2019-06-02 04:55:00

标签: java generics

我有一个抽象类,用于测试父类的子类。

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);
    }
}

这正常吗?

0 个答案:

没有答案