parameterized type 参数化类型:List<String>
Generic 泛型:允许在定义类、接口时指定类型形参,在定义变量、创建对象时传入类型参数(类型实参)。类型形参在整个类、接口中可以当作类型使用。
public interface List<E> extends Collection<E> {}
Java 自类型:https://www.sitepoint.com/self-types-with-javas-generics/ Java编程思想-自限定类型
协变返回类型:重载方法返回子类对象。
协变参数:
https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern