public abstract interface AnnotatedConstruct
  Comment     Returned-by     Constructor-argument     Method-argument     Field-type     Type-bound     Links  

Represents a construct that can be annotated. A construct is either an element or a type. Annotations on an element are on a declaration, whereas annotations on a type are on a specific use of a type name. The terms directly present, present, indirectly present, and associated are used throughout this interface to describe precisely which annotations are returned by the methods defined herein.

In the definitions below, an annotation A has an annotation type AT. If AT is a repeatable annotation type, the type of the containing annotation is ATC.

Annotation A is directly present on a construct C if either:

An annotation A is present on a construct C if either:

An annotation A is indirectly present on a construct C if both: An annotation A is associated with a construct C if either:

Since:  1.8

@jls 9.6 Annotation Types
@jls 9.6.3.3 @Inherited