首页 > 技术文章 > java逆变与协变(待完善)

huiandong 2018-11-11 10:32 原文

协变:若B是A的子类,且F(B)是F(A)的子类,则F为协变

逆变:若B是A的子类,且F(B)是F(A)的父类,则F为逆变

java中的协变:B是A的子类,则List是List的子类

java中的逆变:B是A的子类,则List是List的子类

java中协变与逆变的约束:java中的协变逆变和约束,都是出于对多态的应用。

多态:同一个接口,使用不同的实例执行不同的操作。

协变约束:协变方法支持对传入参数的读操作,但不支持修改操作

逆变约束:

 

推荐阅读