Name.java
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
import java.lang.annotation.RetentionPolicy;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Name {
String firstName();
String lastName();
}
Person.java
public class Person {
@Name(firstName="aaaa", lastName="bbbb")
public String getName(){
return null;
}
}
Test.java
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) {
Method[] methods = Person.class.getMethods();
for(Method method : methods){
if(method.isAnnotationPresent(Name.class)){
Name name = method.getAnnotation(Name.class);
System.out.println("firstName:" + name.firstName() +",lastName:" + name.lastName());
}
}
}
}