import
java.lang.annotation.Annotation;
import
java.lang.annotation.ElementType;
import
java.lang.annotation.Retention;
import
java.lang.annotation.RetentionPolicy;
import
java.lang.annotation.Target;
import
java.lang.reflect.Constructor;
public
class
GFG {
public
static
void
main(String... args)
throws
NoSuchMethodException
{
Constructor[] constructors
= Maths.
class
.getConstructors();
Annotation annotation
= constructors[
0
]
.getAnnotation(Calculator.
class
);
System.out.println(
"Annotation:"
+ annotation.toString());
}
}
@Calculator
(add =
"Adding value"
,
subtract =
"Subtracting Value"
)
class
Maths {
@Calculator
(add =
"Adding value"
,
subtract =
"Subtracting Value"
)
public
Maths() {}
}
@Retention
(RetentionPolicy.RUNTIME)
@interface
Calculator {
public
String add();
public
String subtract();
}