java反射API的Constructor类用来封装类的构造方法,可以通过Class对象获得Constructor对象,Constructor对象可以动态创建对象。
Class类提供了四个方法来获得Constructor对象:
lpublic Constructor[] getConstructors() 返回类中所有的public构造方法集合,默认构造方法的索引为0
lpublic Constructor getConstructor(Class... parameterTypes) 返回指定public构造方法,参数为构造方法参数类型集合
lpublic Constructor[] getDeclaredConstructors() 返回类中所有的构造方法,包括私有的构造方法
lpublic Constructor getDeclaredConstructor(Class... parameterTypes) 返回任意指定的构造方法
示例:
public class Test {
public static void main(String[] args) throws Exception {
Class clazz=Date.class;
Constructor c1=clazz.getConstructor();
Object obj1=c1.newInstance();
System.out.println(obj1);
Constructor c2=clazz.getConstructor(Long.class);
Object obj2=c2.newInstance(200000L);
System.out.println(obj2);
}
}