public class B extends C { }
What does this mean? That C needs to extend A? What extra restriction am I putting instead of just saying B ext
In this case, C is a class that can take a generic parameter, and you are giving it a specific type A as the parameter. Then, B extends that specific parameterization of C.
C
A
B
For example, suppose:
class C { T example(); } class B extends C { }
Then B.example() would return an Integer.
B.example()
Integer