我有一个界面
interface Inter extends Blah {
public void someMethod();
}
class Dummy {
Class<Blah> interfaceType;
public setInterfaceType( Class<Blah> input ) {
this.interfaceType = input;
}
}
class tester {
public void init() {
Dummy dummyObj = new DummyObj();
dummyObj.setInterfaceType( Inter.class ); //This complains that the type is not suitable
}
}
编译错误:
Dummy 类型中的方法 setInterfaceType(Class) 不适用于参数 (Class)
我在调用 setter 时尝试强制转换input
,但这也是不允许的。Class<Blah>
我不明白为什么它不接受一类子类类型。谁能告诉我这里发生了什么以及如何调用 setter。该类Dummy
是外部的,所以我无法更改它。