public class DemoReflect {
public static void main(String[] args) throws Exception {
//获取反射对象的第1种方法
User a = new User();
Class b = a.getClass();//通过顶端父类Object的方法获取
//获取反射对象的第2种方法
Class aa = User.class;//通过所有对象都有的class获取
//获取反射对象的第3种方法
try {
Class aaa = Class.forName("com.LK.Template.pojo.User");//注意此字符串必须是真实路径,就是带包名的类路径,包名.类名
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//获取所有公有构造方法
Constructor[] conArray1 = aa.getConstructors();
for(Constructor c : conArray1){
}
//获取指定公有构造方法
//此方法里面传构造方法参数的反射对象来代表是那个构造方法
Constructor conArray11 = aa.getConstructor(char.class,char.class);
conArray11.newInstance("111");//此方法里面传的值代表需要传给构造方法的参数具体内容
//获取所有公有私有构造方法
Constructor[] conArray2 = aa.getDeclaredConstructors();
for(Constructor dd : conArray2){
}
//获取指定公有私有构造方法
Constructor conArray22 = aa.getDeclaredConstructor();
conArray22.newInstance("111");
}
}