1.得到一份Class(同一个类在JVM中只有一份字节码)
三种方式:类名.class, Class.forName("全限定名");, 对象.getClass();
基本类型 int,float,... ,void int.class void.class
注意 Integer.class != int.class
2.得到构造器
uclz.getConstructors() //得到所有public的构造器
uclz.getDeclaredConstructors() //所有所有构造器(包括private)
//得到一个无参的构造器
Constructor cs = uclz.getConstructor();
cs.newInstance()
//得到有参的构造器(第一个参数是String,第二个参数也是String)
Constructor cs1 = uclz.getConstructor(String.class,String.class);
cs1.newInstance("张三","李四");
//得到有参构造器(能拿到私有的),它的参数是Integer
//要使用私有构造器创建对象,需要将它设置为可见(setAccessible)
Constructor cs2 = uclz.getDeclaredConstructor(Integer.class);
cs3.setAccessible(true);
cs2.newInstance(4);
3.通过 Class创建一个对象
Class uclz = User.class;
uclz.newInstance()