java中的反射api

1. 调用无参数构造器得到一个类的对象返回

public static void main(String[] args) throws Exception {
    // 反射第一步先得到Class对象
    Class c = Person.class;
    // 定位无参构造器对象
    Constructor constructor = c.getDeclaredConstructor();
    // 暴力打开私有构造器的访问权限(如果是私有构造器、private 就可以使用setAccessible暴力打开)
    constructor.setAccessible(true);
    // 通过无参数构造器初始化对象返回
    Person person = (Person) constructor.newInstance();
    System.out.println(person);
}

 2. 调用有参数构造器得到一个类的对象返回

public static void main(String[] args) throws Exception {
    // 反射第一步先得到Class对象
    Class c = Person.class;
    // 定位有参构造器对象
    Constructor constructor = c.getDeclaredConstructor(String.class, Integer.class, String.class);
    // 暴力打开私有构造器的访问权限(如果是私有构造器、private 就可以使用setAccessible暴力打开)
    // constructor.setAccessible(true);
    // 通过无参数构造器初始化对象返回
    Person person = (Person) constructor.newInstance(&#