1.协变和逆变

泛型的多态

语法

  1. //不变
  2. class MyList[T]{}
  3. //协变
  4. class MyList[+T]{}
  5. //逆变
  6. class MyList[-T]{}

协变 (泛形中的多态)

  1. Class MyList[+T]{}
  2. //var list:Father = new Child()
  3. var list:MyList[Fater] = new MyList[Child]

逆变

  1. Class MyList[-T]{}
  2. var list:MyList[Child] = new MyList[Father]()

2.泛型上下限

语法

  1. class MyList[T <: Person]{ //泛型上限
  2. }
  3. class MyList[T >: Person]{ //泛型下限
  4. }