Java协变、逆变、类型擦除

2021/10/4 17:11:29

本文主要是介绍Java协变、逆变、类型擦除,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

协变、逆变

定义

Java中String类型是继承自Object的,姑且记做String ≦ Object,表示String是Object的子类型,String的对象可以赋给Object的对象。而Object的数组类型Object[],理解成是由Object构造出来的一种新的类型,可以认为是一种构造类型,记f(Object),那么可以这么来描述协变和逆变:

当A ≦ B时,如果有f(A) ≦ f(B),那么f叫做协变(子类赋值给父类);
当A ≦ B时,如果有f(B) ≦ f(A),那么f叫做逆变(父类赋值给子类);
如果上面两种关系都不成立则叫做不可变。

数组协变

  • 代码
SADSAD


这篇关于Java协变、逆变、类型擦除的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程