java 反射中的方法
- 创建了一个类Person,其中设置Name的方法setName()和设置Age的方法setAge(),通过反射的方式来获取。
// 1.加载类
Class pClass = Class.forName("com.zm.bean.Person");
// 2.获取类的构造方法
Constructor c = pClass.getDeclaredConstructor();
// 3.设置忽略权限
c.setAccessible(true);
// 4.创建对象
Object o = c.newInstance();
// 5.获取方法
// 参数1.字符串类型的方法名
// 参数2.该方法中参数使用的类型
Method setName = pClass.getMethod("setName", String.class);
Method setAge = pClass.getDeclaredMethod("setAge", int.class);
setAge.setAccessible(true);
// 6.使用setName方法
// 参数1.哪个对象要执行setName方法
// 参数2.调用方法时传递的参数
setName.invoke(o, "张三");
setAge.invoke(o, 19);
System.out.println(o);
- 其中setAge()设置成了private,所以要用getDeclaredMethod()来获取方法并忽略权限的。
- 下面是输出结果