初学耗时:0.5h
注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。
一、协变、逆变、非变介绍
1.1 非变、trait Queue[T] {}
1.2 协变、trait Queue[+T] {}
1.3 逆变、trait Queue[-T] {}
记忆词:
非变、协变、逆变
一、协变、逆变、非变介绍
- 协变和逆变主要是用来解决参数化类型的泛化问题。
- Scala的协变与逆变是非常有特色的,完全解决了Java中泛型的一大缺憾;举例来说,Java中,如果有 A是 B的子类,但 Card[A] 却不是 Card[B] 的子类;而 Scala 中,只要灵活使用协变与逆变,就可以解决此类 Java 泛型问题。
- 由于参数化类型的参数(参数类型