首先定义一个A类
class A
然后定义一个B类继承A类
class B extends A
C类继承B类
class C extends B
D类继承C类
class D extends C
定义一个确定上边界的类
class Bounds1[T <: B](p:T)
//这是确定上边界,传递给主构造函数必须是B类型或者是B的子类
定义一个确定下边界的类
class Bounds2[T >: B](p:T)
//确定下边界,调用的时候,c d 会被隐式转换成父类B
下面是测试代码