**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();
        }
    }
}









