## Uses of Interface
java.lang.reflect.AnnotatedElement

- Packages that use AnnotatedElement
  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 AnnotatedElement in java.lang

    Classes in java.lang that implement AnnotatedElement
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `Class<T>` | Instances of the class `Class` represent classes and interfaces in a running Java application.
    `class` | `Module` | Represents a run-time module, either `named` or unnamed.
    `class` | `Package` | Represents metadata about a run-time package associated with a class loader.

  - ### Uses of AnnotatedElement in java.lang.reflect

    Subinterfaces of AnnotatedElement in java.lang.reflect
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `AnnotatedArrayType` | `AnnotatedArrayType` represents the potentially annotated use of an array type, whose component type may itself represent the annotated use of a type.
    `interface` | `AnnotatedParameterizedType` | `AnnotatedParameterizedType` represents the potentially annotated use of a parameterized type, whose type arguments may themselves represent annotated uses of types.
    `interface` | `AnnotatedType` | `AnnotatedType` represents the potentially annotated use of a type in the program currently running in this VM.
    `interface` | `AnnotatedTypeVariable` | `AnnotatedTypeVariable` represents the potentially annotated use of a type variable, whose declaration may have bounds which themselves represent annotated uses of types.
    `interface` | `AnnotatedWildcardType` | `AnnotatedWildcardType` represents the potentially annotated use of a wildcard type argument, whose upper or lower bounds may themselves represent annotated uses of types.
    `interface` | `GenericDeclaration` | A common interface for all entities that declare type variables.
    `interface` | `TypeVariable<D extends GenericDeclaration>` | TypeVariable is the common superinterface for type variables of kinds.

    Classes in java.lang.reflect that implement AnnotatedElement
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AccessibleObject` | The `AccessibleObject` class is the base class for `Field`, `Method`, and `Constructor` objects (known as reflected objects).
    `class` | `Constructor<T>` | `Constructor` provides information about, and access to, a single constructor for a class.
    `class` | `Executable` | A shared superclass for the common functionality of `Method` and `Constructor`.
    `class` | `Field` | A `Field` provides information about, and dynamic access to, a single field of a class or an interface.
    `class` | `Method` | A `Method` provides information about, and access to, a single method on a class or interface.
    `class` | `Parameter` | Information about method parameters.