Returns an AnnotatedType object that represents the use of a
type to specify the superclass of the entity represented by this
Class object. (The use of type Foo to specify the superclass
in '... extends Foo' is distinct from the declaration of type
Foo.)
If this Class object represents a type whose declaration
does not explicitly indicate an annotated superclass, then the return
value is an AnnotatedType object representing an element with no
annotations.
If this Class represents either the Object class, an
interface type, an array type, a primitive type, or void, the return
value is null.
Diagram: Class, Package, Module