I believe the standard Java terminology does not in fact describe a class as a subclass or superclass of itself. For instance, we usually say that Object has no superclass, or that private members are not visible to subclasses.
However, you're right that the Generics wildcard syntax does seem to be inconsistent with this usage. The way I like to think of it is that the keywords "extends" and "super" are being used in a completely different way here, much like how the "final" keyword has very different semantics when applied to methods and instance variables. Thus, when used in the context of Generics wildcards, "extends" and "super" are more like "subset" and "superset" in mathematics, rather than "subclass" and "superclass". (As you probably know, in mathematics a set A is both a subset and superset of itself.) [ October 20, 2007: Message edited by: Kelvin Lim ]