package cn.xiaozhang.demo7;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
public class ReflectDemo {
public static void main(String[] args) throws Exception{
Class c = Class.forName("cn.xiaozhang.demo7.person");
//使用class文件对象,获取类中的所有构造方法
//Constructor[] getConstructors() 获取class文件对象中的所有巩固的构造方法
Constructor[] cons = c.getConstructors();
for (Constructor con : cons) {
System.out.println(con);
}
//获取指定的构造方法,空参数的构造方法
Constructor con = c.getConstructor();
//运行空参数构造方法,Constructor类方法,newInstance()运行获取到的构造方法
Object obj =con.newInstance();
System.out.println(obj);
//获取有参构造器
Constructor con1 = c.getConstructor(String.class,int.class);
Object obj1 = con1.newInstance("zhangsan",23);
System.out.println(obj1);
}
}
反射获取构造器
最新推荐文章于 2024-05-15 20:31:09 发布