子类定义的通用部分应该是什么
我有一个父类(super class),我不想修改 Sort 定义中的通用部分
public class Sort<T extends Comparable<? super T>> {
public abstract void sort(List<T> thingToSort);
}
我想写
public void HeapSort"<>" extends Sort"<>" {
}
HeapSort 定义的通用部分应保留什么内容
以及 main 中的某个地方
HeapSort sort = new HeapSort<>(new ArrayList(Arrays.asList(1,2,3,4)));
最佳答案
您只需将 T
及其边界传播到扩展类:
public void HeapSort<T extends Comparable<? super T>> extends Sort<T> { ... }
这实际上在 HeapSort
上定义了一个类型参数 T
,用于实例化父类(super class) Sort
上的类型参数。
然后您可以创建一个新的HeapSort
,如下所示:
HeapSort<Integer> sort = new HeapSort<>(Arrays.asList(1,2,3,4));
关于java - 如果父类(super class)具有有界泛型,则具体类的泛型应该是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54589861/