您的模式类必须扩展
BasicObject和扩展/实现
CodeObject(实际上是一个接口)。您可以使用方法签名的通配符定义中声明的多个类来执行此操作,如下所示:
public <T extends BasicObject & CodeObject> void myMethod(Class<T> clazz)
请注意,如果您通过以下任何一种方式进行操作,则将无法使用:
public <T extends BasicObject, CodeObject> void myMethod(Class<T> clazz)
这是技术上有效的语法,但未
CodeObject使用;该方法将接受任何扩展的类,
BasicObject无论它们是否扩展/实现
CodeObject。
public void myMethod(Class<? extends BasicObject & CodeObject> clazz)
public void myMethod(Class<? extends BasicObject, CodeObject> clazz)
根据Java,这些只是错误的语法。



