//第一个类
import java.lang.reflect.Method;
public class An {
public static void main(String[] args) throws Exception {
//正射
Wang list = new Wang();
//反射
//Class<Wang> a = Wang.class;
//Class<?> a1 = Wang.class;
//a.getAnnotations();
//System.out.println(a);
//System.out.println(a1);
//System.out.println(a == a1);
Class<?> a = Wang.class;
Ann aa = a.getAnnotation(Ann.class);
System.out.println(aa.name());
System.out.println(aa.age());
System.out.println(aa.sex());
System.out.println(aa.address());
Method b = a.getMethod("jk");
Ann bb = b.getAnnotation(Ann.class);
System.out.println(bb.name());
System.out.println(bb.age());
System.out.println(bb.sex());
System.out.println(bb.address());
}
}
//方法
@Ann(name = "杨",age = 20, sex = "男",address = "河南省")
public class Wang {
@Ann(name = "宋",age = 22,address = "上海市")
public void jk(){
}
}
//注解
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
//TYPE 类型 METHOD 方法 Target目标 Retention保留 RetentionPolicy 保留政策 RUNTIME运行时
@Retention(RetentionPolicy.RUNTIME)//注解类 只能添加一个参数
@Target({TYPE,METHOD})//注解类 可以添加无数参数但是多个参数必须加上{} 如果不加默认是数组
public @interface Ann {
String name();
int age() default 18;
String sex() default"男";
String address();
}
修改信息后可以根据修改后的信息自动进行更新