Annotations in Java
Annotations in Java provide metadata about program elements like classes, methods, fields, etc. They are a form of syntactic metadata that can be added to Java code. Annotations can be used to provide instructions to the compiler, control runtime behavior, or generate documentation.
To define an annotation in Java, you use the @interface
keyword. The annotation interface can have elements that act as parameters. Here's an example:
1import java.lang.annotation.ElementType;
2import java.lang.annotation.Retention;
3import java.lang.annotation.RetentionPolicy;
4import java.lang.annotation.Target;
5
6@Retention(RetentionPolicy.RUNTIME)
7@Target(ElementType.TYPE)
8public @interface MyAnnotation {
9 String value();
10}
In this example, MyAnnotation
is the name of the annotation, and it has one element value
of type String
.
You can use annotations by placing them directly before the annotated program element. For example:
1@MyAnnotation("Hello")
2public class MyClass {
3 // Class implementation
4}
In this example, the MyClass
is annotated with MyAnnotation
, and the value
element is set to "Hello"
.
Annotations can be processed at compile-time or runtime. The @Retention
annotation specifies how long the annotation should be retained. The @Target
annotation specifies the program elements to which the annotation can be applied.
Annotations can be powerful tools for adding metadata to your Java code and enabling additional functionality or behavior.
xxxxxxxxxx
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
RetentionPolicy.RUNTIME) (
ElementType.TYPE) (
public @interface MyAnnotation {
String value();
}
"Hello") (
public class MyClass {
// Class implementation
}