parameterized type 参数化类型:List<String>

Generic 泛型:允许在定义类、接口时指定类型形参,在定义变量、创建对象时传入类型参数(类型实参)。类型形参在整个类、接口中可以当作类型使用。

public interface List<E> extends Collection<E> {}

Java 自类型:https://www.sitepoint.com/self-types-with-javas-generics/ Java编程思想-自限定类型

协变返回类型:重载方法返回子类对象。

协变参数:

https://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingual/blob/dev/Chapter-5/Chapter-5-Item-31-Use-bounded-wildcards-to-increase-API-flexibility.md

https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern

Kotlin Self Types 的讨论

Dart Self Types 的讨论

Swift 中的 Self Type