The keyword extendsin Generics has slightly different semantics than the general keyword extends.
When used extendsin the context of Generics, for example T extends Something, this means that it Tmust be a type that either implements an interface Something(in cases where it Somethingis an interface), or is a subclass Something(in case it Somethingis a class).
, , implements Generics, .
, :
<T extends SomeClass implements Serializable & Observable>
:
<T extends SomeClass & Serializable & Observable>
implements. T , T, , .
. , - T.