逆變 與 協變 用來 描述類型轉換(type transformation)後的繼承
關係,其定義:若是 X、Y 表示類型,f(⋅) 表示類型轉換,≤ 表示繼承關係(好比,A≤B 表示 A 是由 B 派生出來的子類)。數組
f(⋅) 是協變(Covariant)的,當 X≤Y 時,f(X)≤f(Y) 成立;如數組
,固然,泛型也能夠經過通配符(extends、super)來實現協變與逆變code
f(⋅) 是逆變(Contravariant)的,當 X≤Y 時,f(Y)≤f(X) 成立orm
f(⋅) 是不變(Invariant)的,當 X≤Y 時上述兩個式子均不成立,即 f(X) 與 f(Y) 相互之間沒有繼承關係。如泛型
繼承