Java- Значение <T extends Comparable<T>>
?
а) Comparable <T>
это общий интерфейс (помните, что это «интерфейс», т.е. не «класс»)
b) extends
означает наследование от класса или интерфейса.
Из вышеприведенного пункта # a это интерфейс. (Помните, что это наследование от "интерфейса", т.е. не от "класса")
в) Из вышеупомянутых обеих точек #a & #b,
здесь «один интерфейс» расширяет «другой интерфейс».
Для этого класса должен быть определен интерфейс.
просто пример здесь
interface MinMax<T extends Comparable<T>> {
T min();
T max();
}
г) теперь ваш класс, т.е. public class RClass {}
ДОЛЖЕН
1 # ЛИБО "реализовать" этот "универсальный интерфейс" Comparable<T>
.. !!!
например: public class RClass<T> implements Comparable<T>
2 # ИЛИ создать интерфейс и расширить до этого «универсального интерфейса» Comparable<T>
например:
interface MinMax<T extends Comparable<T>> {
T min();
T max();
}
class RClass<T extends Comparable<T>> implements MinMax<T> {
.....
.....
}
Здесь,
Обратите особое внимание на способ, которым параметр типа T объявлен RClass и
затем перешел на MinMax
. Поскольку MinMax
требуется тип, который реализует Comparable
,
класс реализации (в данном случае RClass) должен указывать ту же границу. Более того,
как только эта граница установлена, нет необходимости указывать ее снова в предложении Implements.