//获取字节码文件的三种方法:
一个类可以有很多对象,但只有一个class字节码文件。
Class clazz = Class.forName("com.phone.hack.RefManager");
Class clazz = RefManager.class;
Class clazz = new RefManager().getClass();
//静态成员变量
Field f = clazz.getField("gap");
String sss = (String) f.get(null); //获取
f.set(null,"11111"); //设置//静态成员方法
Method m = clazz.getMethod("print");
m.invoke(null);
反射可以越过泛型检查
List<Integer>array=new ArrayList<>();
array.add("1234"); //报错//通过反射
Class c =array.getClass();
Method mm = c.getMethod("add",Object.class);
mm.invoke(array,12);
mm.invoke(array,"1234");
String ss =String.valueOf(array.get(1));