获取反射对象的方法
//1类名.class
Class clz=String.class;
System.out.println(clz);
//2对象.getclass
Object o="abc";
Class clz4=o.getClass()
//3.传入类的全路径名
Class clz1=Class.forName("java.lang.String");
System.out.println(clz1);
//产生对象,这个类必须有无参构造
Object s=clz1.newInstance();
//含参构造器创建对象
Class<Integer> clz2=(Class<Integer>)Class.forName("java.lang.Integer");
//字节码对象获取构造器对象,只能获取公开构造器
Constructor c=clz2.getConstructor(int.class);
//构造器对象创建实例
Integer hhh=(Integer) c.newInstance(9);
System.out.println(hhh);
//含参不公开构造器获取对象
Class<String> clz1=(Class<String>) Class.forName("java.lang.String");
char[] cs=new char[] {'a','c'};
Constructor c=clz1.getDeclaredConstructor(char[].class,boolean.class);
//暴力破解
c.setAccessible(true);
String str=(String) c.newInstance(cs,true);
System.out.print(str);