反射——获取构造方法

package pers.reflect.Constructor;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

import pers.reflect.person.Person;

public class ReflectDemo1 {
public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
    Class c = Person.class;
    
    System.out.println("getDeclaredConstructors(),获取所有的构造方法:");
    Constructor[] cons = c.getDeclaredConstructors();
    for (Constructor con : cons) {
        System.out.println(con);
    }
    System.out.println();
    
    System.out.println("getConstructors(),获取所有的构造方法:");
    Constructor[] cons1 = c.getConstructors();
    for (Constructor con : cons1) {
        System.out.println(con);
    }
    System.out.println();
    
    
    Constructor con=c.getConstructor(String.class,int.class);
    Object p=con.newInstance("张珊珊",12);
    System.out.println(p);
    
    Constructor con1=c.getConstructor();//空参数的构造方法创建Person类对象
    Object p1=con1.newInstance();
    System.out.println(p1);
    
    
}
}

猜你喜欢

转载自www.cnblogs.com/zhai1997/p/11391071.html
今日推荐