Class X{
Class<B> object;
public setObject( Class<B> a ){....}
}
Interface B{}
Interface C extends B {}
我像这样实例化X,
X x = new X();
x.setObject( C.class );
当我构建它抱怨需要Class<B>
找到的代码时Class<C>
。由于C扩展了B,我不能使用C.class吗?如果是这样,有人可以解释为什么吗?
我使用 Spring 的基于 XML 的 bean 做同样的事情,创建它工作得很好。bean定义将是
<bean id="dummy" class="X">
<property name"object" value="C">
</bean>
这工作得很好。我不明白为什么在 java 中实例化会失败。