# 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
`final 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 `Class` object.
`Type`
Class.`getGenericSuperclass()`
Returns the `Type` representing the direct superclass of the entity (class, interface, primitive type or void) represented by this `Class` object.

## 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`
RecordComponent.`getGenericType()`
Returns a `Type` object that represents the declared type for this record component.
`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.