Type
contexts: where annotations
apply to types used in declarations and expressions.
There
are 16 type contexts, all represented by the enum constant TYPE_USE
of
java.lang.annotation.ElementType.
16
type contexts are
1. A type
in the extends or implements clause of a class declaration
2. A type
in the extends clause of an interface declaration
3. The
return type of a method (including the type of an element of an
annotation
type)
4. A type
in the throws clause of a method or constructor
5. A type
in the extends clause of a type parameter declaration of a generic
class,
interface, method, or constructor
6. The
type in a field declaration of a class or interface (including an
enum
constant)
7. The
type in a formal parameter declaration of a method, constructor, or
lambda
expression
8. The
type of the receiver parameter of
a method
9. The
type in a local variable declaration
10. The
type in an exception parameter declaration
In
expressions
1. A type
in the explicit type argument list to an explicit constructor
invocation
statement
or class instance creation expression or method invocation expression
2. In
an unqualified class instance creation expression, as the class type
to be
instantiated
or as the direct superclass or direct superinterface of an anonymous
class to be instantiated.
3. The
element type in an array creation expression
4. The
type in the cast operator of a cast expression
5. The
type that follows the instanceof relational operator
6. In
a method reference expression , as the reference type to search for a
member method or as the class type or array type to construct.
No comments:
Post a Comment