package com.csair.anto;
import java.lang.reflect.Method;
public class RunAnto {
/*
* 被注解的三个方法
*/
@Student(userName = "william", address = "广东省东莞市")
public void method_1() {
}
@Student(userName = "媛媛", address = "")
public void method_2() {
}
@Student(address = "北京市")
public void method_3() {
}
/*
* 解析注解,将RunAnto类 所有被注解方法 的信息打印出来
*/
public static void main(String[] args) {
Method[] methods = RunAnto.class.getDeclaredMethods();
for(Method method : methods){
boolean hasAnnotation = method.isAnnotationPresent(Student.class);
if(hasAnnotation){
Student annotation = method.getAnnotation(Student.class);
System.out.println(method.getName() + " " + annotation.userName() + " " +annotation.address());
}
}
}
}
package com.csair.anto;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface Student {
String userName() default "admin";
String address();
}