学习文章:https://rengwuxian.com/169.html
笔记
先定义三个类,用于辅助说明,其继承关系如下:
class Grandfather {}
class Father extends Grandfather {}
class Son extends Father {}
关于「协变」,即指的是子类的范型类型(比如 Son 是 Father 的子类,拿着子类 Son 去声明范型类型 ArrayList<Son> ),也属于范型类型的子类(即 ArrayList<Son> 也属于 ArrayList<Father> 的子类 )。
关于「逆变」,即指的是父类的范型类型(比如 Grandfather 是 Father 的父类,拿着父类 Grandfather 去声明范型类型 ArrayList<Grandfather> ),也属于范型类型的父类(即 ArrayList<Grandfather> 也属于 ArrayList<Father> 的父类 )。
Java与Kotlin范型的协变与逆变
该博客围绕Java和Kotlin的范型展开,介绍了协变和逆变的概念。协变指子类范型类型也属于范型类型的子类,逆变指父类范型类型也属于范型类型的父类,还给出了学习文章链接。
1243

被折叠的 条评论
为什么被折叠?



