(1)类、特质、方法和函数都可以有类型参数
(2)将类型参数放置在名称之后,以方括号括起来
(3)类型界定的语法为T<:UpperBound、T>:LowerBound、T:ContextBound
(4)我们可以使用类型约束,来约束一个方法,比如(implicit ev:T<:<UpperBound)
(5)用 + T (协变)来表示某个泛型类的子类型关系额参数T方向一致,或者用-T(逆变)来表示方向相反
(6)协变适应于表示输出的类型参数,比如不可变集合中的元素
(7)逆变适用于表示输入的类型参数,比如函数参数
转载于:https://www.jianshu.com/p/9600d0071d03