Java泛型问题求解?为什么会有两个extends

如下是一个选择排序的程序,请问一下public class Selection> extends Sort 是什么意思,为什么会有两个extends?

public class Selection<T extends Comparable<T>> extends Sort<T> {

    @Override
    public void sort(T[] nums) {
        int N = nums.length;
        for (int i = 0; i < N - 1; i++) {
            int min = i;
            for (int j = i + 1; j < N; j++) {
                if (less(nums[j], nums[min])) {
                    min = j;
                }
            }
            swap(nums, i, min);
        }
    }
}

第一个T extends Comparable<T>表示T这个泛型参数是Comparable的派生类,第二个Sort<T>表示Selection<T>从Sort<T> 派生。
简单来说Selection<T>是排序的,T是可比较的。