Java 如何将类用作泛型类型标记

Java 如何将类用作泛型类型标记,java,Java,我有我的方法: myMethod(Class class){} 我想将MyClass与所有降序类一起传递给此方法,因此将其更改为: myMethod(Class<MyClass> class){} 然后我有一个编译器错误: The method myMethod(Class<MyClass>) in the type XXX is not applicable for the arguments (Class<MyOtherClassExtendingMyCla

我有我的方法:

myMethod(Class class){}
我想将MyClass与所有降序类一起传递给此方法,因此将其更改为:

myMethod(Class<MyClass> class){}
然后我有一个编译器错误:

The method myMethod(Class<MyClass>) in the type XXX is not applicable
for the arguments (Class<MyOtherClassExtendingMyClass>)
XXX类型中的方法myMethod(Class)不适用
用于参数(类)

如何确保仅允许MyClass及其所有降序类作为此方法的参数?

使用上界通配符:

myMethod(Class<? extends MyClass>) {}

myMethod(Class根据您的问题,我认为您需要以下方法声明
myMethod

myMethod(Class<? extends MyClass> clazz)

myMethod(类请编辑问题的标题:-)+1:如JLS中所述:
<T extends MyClass> void myMethod(Class<T> klass) {}
myMethod(Class<? extends MyClass> clazz)