多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
在 Scala 中泛型概念与 Java 相同,泛型指将类型参数化。与 Java 不同,Scala 泛型类定义格式如下,以List 为例: ```scala class List[+A] +表示型变类型 ``` <br/> **1. 基本泛型类定义** ```scala class ClassA[A, B, C] ``` <br/> **2. 类型上界和下界** ```scala class ClassA class ClassC[P<:ClassA] // P必须是ClassA或者他的子类,所以ClassA是P的上界 class ClassD[P>:ClassA] // P必须是ClassA或者它的超类,所以ClassA是P的下界 ``` <br/> **3. 型变类型** ```scala 1. 协变 语法:class ClassA[+A] 如果A是B的子类,则ClassA[A]就是ClassA[B]的子类。 2. 逆变 语法:class ClassA[-A] 如果A是B的子类,则ClassA[A]就是ClassA[B]的父类。 3. 不变 语法:class ClassA[A] ```