18.1 泛型类
和 Java 一样, 类和特质可以带类型参数.
在 scala 中使用
class Pair[T, V](a: T, b: V) {
def foo(): T ={
println(a, b)
a
}
}
object Pair {
def main(args: Array[String]): Unit = {
val pair = new Pair(3, "abc")
pair.foo()
}
}
说明:
上面定义了一个带有两个泛型参数的类. 带有一个或多个类型参数的类就是泛型类.
在泛型类内部, 可以使用泛型参数来定义变量, 方法参数, 返回值类型.
Scala 会从构造函数推断出实际类型, 这很省心.
也可以指定类型
练习: 定义可以存储不同消息类型的Message
类