import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
String value() default "";
int count() default 1;
}
public class MyClass {
@MyAnnotation(value = "Hello World!", count = 5)
public void myMethod() {
}
}
import java.lang.reflect.Method;
public class MyAnnotationProcessor {
public static void process(Class<?> clazz) {
Method[] methods = clazz.getDeclaredMethods();
for (Method method : methods) {
if (method.isAnnotationPresent(MyAnnotation.class)) {
MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
String value = annotation.value();
int count = annotation.count();
System.out.println("Value: " + value);
System.out.println("Count: " + count);
}
}
}
}
public class Main {
public static void main(String[] args) {
MyClass myClass = new MyClass();
MyAnnotationProcessor.process(myClass.getClass());
}
}
Value: Hello World!
Count: 5