scala的协变和逆变

协变

在看到 Scala入门到精通——第二十一节 类型参数(三)-协变与逆变 这篇文章时,对协变

更加了解了。

里面提到参数如果定义成协变时会造成原来的调用不成功。我的理解是因为原来的调用的参数范围更广,

但是在父类指向子类时,因为子类的同样函数的参数范围小所以会报错。

逆变

在提到返回类型定义成逆变会报错,我的理解是如果定义成逆变,那么原来调用此函数的地方如果限定

是父类的类型的话会报错,因为父类指向子类后调用此函数后返回的类型范围更广,所以会导致报错

欢迎关注我的公众号:沉迷Spring
显示 Gitment 评论
0%