为什么我不能使用像method1(Foo1)这样的参数化方法?我想只传递扩展类Foo的类。
public class Foo1 extends Foo {
}
public class Foo2 {
void method1(Class<Foo>){
}
}
答案 0 :(得分:3)
使您的方法成为接受参数化类型的通用方法:
<T extends Foo> void method1(Class<T> arg) {
...
}
或更简洁:
void method1(Class<? extends Foo> arg) {
...
}