# 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
`final class`
`Class<T>`
Instances of the class `Class` represent classes and interfaces in a running Java application.
`final class`
`Module`
Represents a run-time module, either `named` or unnamed.
`final 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).
`final 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`.
`final class`
`Field`
A `Field` provides information about, and dynamic access to, a single field of a class or an interface.
`final class`
`Method`
A `Method` provides information about, and access to, a single method on a class or interface.
`final class`
`Parameter`
Information about method parameters.
`final class`
`RecordComponent`
A `RecordComponent` provides information about, and dynamic access to, a component of a record class.