# Uses of Interface
java.lang.reflect.Type

Packages that use Type
Package | Description
--- | ---
java.lang | Provides classes that are fundamental to the design of the Java programming language.
java.lang.reflect | Provides classes and interfaces for obtaining reflective information about classes and objects.

## Uses of Type in java.lang

Classes in java.lang that implement Type
Modifier and Type | Class | Description
--- | --- | ---
`class` | `Class<T>` | Instances of the class `Class` represent classes and interfaces in a running Java application.

Methods in java.lang that return Type
Modifier and Type | Method | Description
--- | --- | ---
`Type[]` | Class.`getGenericInterfaces()` | Returns the `Type`s representing the interfaces directly implemented by the class or interface represented by this object.
`Type` | Class.`getGenericSuperclass()` | Returns the `Type` representing the direct superclass of the entity (class, interface, primitive type or void) represented by this `Class`.

## Uses of Type in java.lang.reflect

Subinterfaces of Type in java.lang.reflect
Modifier and Type | Interface | Description
--- | --- | ---
`interface` | `GenericArrayType` | `GenericArrayType` represents an array type whose component type is either a parameterized type or a type variable.
`interface` | `ParameterizedType` | ParameterizedType represents a parameterized type such as Collection<String>.
`interface` | `TypeVariable<D extends GenericDeclaration>` | TypeVariable is the common superinterface for type variables of kinds.
`interface` | `WildcardType` | WildcardType represents a wildcard type expression, such as `?`, `? extends Number`, or `? super Integer`.

Methods in java.lang.reflect that return Type
Modifier and Type | Method | Description
--- | --- | ---
`Type[]` | ParameterizedType.`getActualTypeArguments()` | Returns an array of `Type` objects representing the actual type arguments to this type.
`Type[]` | TypeVariable.`getBounds()` | Returns an array of `Type` objects representing the upper bound(s) of this type variable.
`Type` | GenericArrayType.`getGenericComponentType()` | Returns a `Type` object representing the component type of this array.
`Type[]` | Constructor.`getGenericExceptionTypes()` | Returns an array of `Type` objects that represent the exceptions declared to be thrown by this executable object.
`Type[]` | Executable.`getGenericExceptionTypes()` | Returns an array of `Type` objects that represent the exceptions declared to be thrown by this executable object.
`Type[]` | Method.`getGenericExceptionTypes()` | Returns an array of `Type` objects that represent the exceptions declared to be thrown by this executable object.
`Type[]` | Constructor.`getGenericParameterTypes()` | Returns an array of `Type` objects that represent the formal parameter types, in declaration order, of the executable represented by this object.
`Type[]` | Executable.`getGenericParameterTypes()` | Returns an array of `Type` objects that represent the formal parameter types, in declaration order, of the executable represented by this object.
`Type[]` | Method.`getGenericParameterTypes()` | Returns an array of `Type` objects that represent the formal parameter types, in declaration order, of the executable represented by this object.
`Type` | Method.`getGenericReturnType()` | Returns a `Type` object that represents the formal return type of the method represented by this `Method` object.
`Type` | Field.`getGenericType()` | Returns a `Type` object that represents the declared type for the field represented by this `Field` object.
`Type[]` | WildcardType.`getLowerBounds()` | Returns an array of `Type` objects representing the lower bound(s) of this type variable.
`Type` | ParameterizedType.`getOwnerType()` | Returns a `Type` object representing the type that this type is a member of.
`Type` | Parameter.`getParameterizedType()` | Returns a `Type` object that identifies the parameterized type for the parameter represented by this `Parameter` object.
`Type` | ParameterizedType.`getRawType()` | Returns the `Type` object representing the class or interface that declared this type.
`Type` | AnnotatedType.`getType()` | Returns the underlying type that this annotated type represents.
`Type[]` | WildcardType.`getUpperBounds()` | Returns an array of `Type` objects representing the upper bound(s) of this type variable.