我曾试图阅读维基百科,但它在多态性(尤其是与Java相关的)方面非常复杂。我的理解是子类型多态性与子类型有关,参数多态性与方法在不同对象/类之间被泛化有关?我错了什么吗?
我曾试图阅读维基百科,但它在多态性(尤其是与Java相关的)方面非常复杂。我的理解是子类型多态性与子类型有关,参数多态性与方法在不同对象/类之间被泛化有关?我错了什么吗?
您可以在JDK中找到示例。
参数多态性的示例:
public static <T> void sort(T[] a, Comparator<? super T> c) {
...
}
该方法可以接受任何类型的T
,并以相同方式处理它:
Arrays.sort(new String[]{"a", "1"}, new Comparator<String>() { ... });
子类型多态性的示例:
Executors.newSingleThreadExecutor().submit(runable);
在这里,ExecutorService
并不关心 Runable
的实际实现,它只需要可以运行的东西。