Generic Class:
A class that takes type parameters. For example, because
scala.List
takes a type parameter it is a generic class
Generic Trait:
A trait that takes type parameters. For example, because
scala.Set
takes a type parameter it is a generic trait
Type Parameter:
A parameter to a generic class or generic method that must
be filled in by a type. For example List
is defined as
class List[T] { ... }
and identity
is defined as
def identity[T](x:T) = x
The T
in both cases is a type parameter