将类对象传递给期望超类对象的方法

时间:2015-11-02 21:48:36

标签: java

我有这个课程heirarchy。

class Base {}
class Derived extends Base {}

和方法

void foo(Class<? extends Base> cls) {}

和变量

Class<? extends Derived> derivedCls;

是否可以致电foo(derivedCls)

如上所述,它失败了,抱怨争论不相容。 foo只会检查某个对象是cls的实例,因此调用没有逻辑问题。 (这不像将Set<String>作为Set<Object>传递,然后尝试添加Integer。)

Class::asSubClass会让我从Class<Base>转到'Class`,但我没有看到另一种方法。

0 个答案:

没有答案