, . Self-Referential .
. , Car, a Comparable<Car> Car - Mercedes:
class Car implements Comparable<Car> { ... }
class Mercedes extends Car { }
, Mercedes , , Comparable<Mercedes> , :
class Mercedes extends Car implements Comparable<Mercedes> { }
.. , . , Mercedes Comparable<Car>, Comparable<Mercedes>, .
Futher. :
, Comparable<Mercedes> . Mercedes, Comparable<Car>.
, :
class Garage<T extends Comparable<T>> { }
, Car, Mercedes, :
Garage<Car> carComp = new Garage<Car>();
Garage<Mercedes> mercedesComp = new Garage<Mercedes>();
? , . Mercedes , T extends Comparable<T>. Mercedes a Comparable<Car>. , ?
. Garage - :
class Garage<T extends Comparable<? super T>> { }
.., , Mercedes .