———— string类型所属的字节码文件对应的类是String.class,int也一样。
———— 通过构造器对象的newInstance方法将对象初始化
Class c = Class.forName(“类文件名带包名”);
Constructor constructor = c.getConstructor(String.class,int.class)
Object obj = constructor.newInstance(“小明”, 89);
字节码文件的 字段 获取方法:
Field getDeclaredField(String name)
返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。
Field[] getDeclaredFields()
返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段。
Field getField(String name)
返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。
Field[] getFields()
返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段。
Class c = Class.forName(“类文件名带包名”);
Constructor constructor = c.getConstructor(String.class, int.class);
Object obj = constructor.newInstance(“xiaoming”,23);
Field filed = c.getDeclaredFied(“age”);
field.setAccessible(true) 对私有字段取消权限检查(暴力访问)setAccessible(true)
field.set(obj, 89);
Object o = field.get(obj) // 获取obj对象的age的值。
sop(o) — 89.