前言
-
在指定泛型类型是,有时需要界定泛型类型的范围,而不是接收任意类型。比如,要求某个泛型类型,必须是某个类的子类,这样在程序中就可以放心的调用父类的方法,程序才能正常的使用与运行。此时,就可以使用上下边界Bounds的特性;
-
Scala的上下边界特性允许泛型类型是某个类的子类,或者是某个类的父类;
1. 上下届定义
注意:Scala中泛型使用A,B,C…Z表示,比如A就是所有类的子类或者其本身,A就是上界。Z是所有类的的父类或者其本身,Z就是下界。
- U :> T
这是类型下界的定义,也就是U必须是类型T的父类(或本身,自己也可以认为是自己的父类)。
- S <: T
这是类型上界的定义,也就是S必须是类型T的子类(或本身,自己也可以认为是自己的子类)。