I saw this pattern somewhere:
class A extends B {
}
This structure is a little unusual to extend a generic by specifying the new
This pattern is the same as any other sub-class. What's really happening when a generic is used is the JVM is creating a copy (not actually a copy, but it's kinda-sorta like that) of a class, and replacing all the spots where the generic is used with the specified type.
So, to answer your question, all that pattern is doing is substituting B for B in which all the uses of A are substituted with whatever class A is. Potential uses for this are in cases where you are customizing a data structure (from java.util.Collections) for a specific class, such as using bitshifts to compact a Collection into a smaller amount of memory. I hope that makes sense!