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