Если тип Comparable
E
, например, String
, вы захотите:
public class B implements A<String> { ... }
Если вы хотите сохранить объявление параметра общего типа в B
, выбудет иметь:
public static class B<E extends Comparable<E>> implements A<E> { ... }
Обратите внимание, что E
в A
не относится к E
в B
, то есть действует следующее:
public static class B<Foo extends Comparable<Foo>> implements A<Foo> { ... }
(хотите ли вы различить или нет в своем коде, я не знаю, но это может помочь в понимании)