**Java的反射(reflection)**机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键技术。
通过反射创建类对象
过反射获取类属性、方法、构造器
反射获取注解属性
(RetentionPolicy.RUNTIME)
(ElementType.FIELD)
public @interface UserName {
String name() default "李四";
}
public class User {
(name = "王五")
//@UserName
private String name;
public int pf(int i) {
return i * i;
}
}
public class Ref7 {
public static void main(String[] args) {
Class u = User.class;
Field n = null;
try {
n = u.getDeclaredField("name");
System.out.println(n.getName());
var un = n.getAnnotation(UserName.class);
System.out.println(un.name());
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
}