Stay organized with collections
Save and categorize content based on your preferences.
java.lang.annotation
Interfaces
Annotation |
The common interface extended by all annotation interfaces.
|
Exceptions
AnnotationFormatError |
Thrown when the annotation parser attempts to read an annotation from a class file and determines that the annotation is malformed.
|
AnnotationTypeMismatchException |
Thrown to indicate that a program has attempted to access an element of an annotation whose type has changed after the annotation was compiled (or serialized).
|
IncompleteAnnotationException |
Thrown to indicate that a program has attempted to access an element of an annotation interface that was added to the annotation interface definition after the annotation was compiled (or serialized).
|
Annotations
Documented |
If the annotation @Documented is present on the declaration of an annotation interface A, then any @A annotation on an element is considered part of the element's public contract.
|
Inherited |
Indicates that an annotation interface is automatically inherited.
|
Native |
Indicates that a field defining a constant value may be referenced from native code.
|
Repeatable |
The annotation interface java.lang.annotation.Repeatable is used to indicate that the annotation interface whose declaration it (meta-)annotates is repeatable.
|
Retention |
Indicates how long annotations with the annotated interface are to be retained.
|
Target |
Indicates the contexts in which an annotation interface is applicable.
|
Enums
ElementType |
The constants of this enumerated class provide a simple classification of the syntactic locations where annotations may appear in a Java program.
|
RetentionPolicy |
Annotation retention policy.
|
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[null,null,["Last updated 2025-02-10 UTC."],[],[],null,["# java.lang.annotation\n====================\n\nInterfaces\n----------\n\n|-----------------------------------------------------------------|-------------------------------------------------------------|\n| [Annotation](/reference/kotlin/java/lang/annotation/Annotation) | The common interface extended by all annotation interfaces. |\n\nExceptions\n----------\n\n|-----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [AnnotationFormatError](/reference/kotlin/java/lang/annotation/AnnotationFormatError) | Thrown when the annotation parser attempts to read an annotation from a class file and determines that the annotation is malformed. |\n| [AnnotationTypeMismatchException](/reference/kotlin/java/lang/annotation/AnnotationTypeMismatchException) | Thrown to indicate that a program has attempted to access an element of an annotation whose type has changed after the annotation was compiled (or serialized). |\n| [IncompleteAnnotationException](/reference/kotlin/java/lang/annotation/IncompleteAnnotationException) | Thrown to indicate that a program has attempted to access an element of an annotation interface that was added to the annotation interface definition after the annotation was compiled (or serialized). |\n\nAnnotations\n-----------\n\n|-----------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Documented](/reference/kotlin/java/lang/annotation/Documented) | If the annotation `@Documented` is present on the declaration of an annotation interface *A* , then any `@A` annotation on an element is considered part of the element's public contract. |\n| [Inherited](/reference/kotlin/java/lang/annotation/Inherited) | Indicates that an annotation interface is automatically inherited. |\n| [Native](/reference/kotlin/java/lang/annotation/Native) | Indicates that a field defining a constant value may be referenced from native code. |\n| [Repeatable](/reference/kotlin/java/lang/annotation/Repeatable) | The annotation interface `java.lang.annotation.Repeatable` is used to indicate that the annotation interface whose declaration it (meta-)annotates is *repeatable*. |\n| [Retention](/reference/kotlin/java/lang/annotation/Retention) | Indicates how long annotations with the annotated interface are to be retained. |\n| [Target](/reference/kotlin/java/lang/annotation/Target) | Indicates the contexts in which an annotation interface is applicable. |\n\nEnums\n-----\n\n|---------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|\n| [ElementType](/reference/kotlin/java/lang/annotation/ElementType) | The constants of this enumerated class provide a simple classification of the syntactic locations where annotations may appear in a Java program. |\n| [RetentionPolicy](/reference/kotlin/java/lang/annotation/RetentionPolicy) | Annotation retention policy. |"]]