public static void main(String[] args) throws Exception {
// 获取字节码对象
Class c = Class.forName("cn.ref.Person");
//通过构造方法创建一个实例
Constructor con = c.getConstructor();
Object obj = con.newInstance();
// 获取成员变量
Field f = c.getField("sex");
//赋值
f.set(obj, "女");
System.out.println(obj);
Person p = (Person) obj;
System.out.println(p.getSex());
}
}
public static void main(String[] args) throws Exception {
// 获取字节码对象
Class c = Class.forName("cn.ref.Person");
//通过构造方法创建一个实例
Constructor con = c.getConstructor();
Object obj = con.newInstance();
// 获取成员变量
Field f = c.getDeclaredField("name");
f.setAccessible(true);
//赋值
f.set(obj, "张三");
System.out.println(obj);
Person p = (Person) obj;
System.out.println(p.getName());
}
}
1.3、通过反射获取成员方法并使用
1、获取成员方法
public Method getMethod(String name, Class... parameterTypes);获取单个公共成员方法
public Method getDeclaredMethod(String name, Class... parameterTypes);获取单个任意成员方法