参数类型 co-不是反变体吗?
我理解术语协方差和逆方差。但有一件小事我无法理解。在coursera的“Scala中的函数式编程”课程中,Martin Ordersky提到:
函数的参数类型是逆变的,返回类型是协变的
例如,在Java中,让扩展.并设一个函数是:Dog
Animal
void getSomething(Animal a){
并且我有函数调用作为
Dog d = new Dog();
getSomething(d)
所以基本上正在发生的是.根据wiki的协方差是“将宽转换为窄”。在上面,我们正在从狗到动物。那么,参数类型不是协变的而不是逆变的吗?Animal a = d