## 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.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.