- 创建一个基础类
public class Rebot {
private String name;
public String sayHi(String h1) {
return h1 + name;
}
private String wel(String hello) {
return hello;
}
}
- 创建main方法,并使用反射调用上面的基础类中的方法
public static void main(String[] args) {
try {
Class rc = Class.forName("com.reflect.Rebot");
Rebot rebot = (Rebot) rc.newInstance();
System.out.println("class name is " + rc.getName());
Method getWel = rc.getDeclaredMethod("wel", String.class);
getWel.setAccessible(true);
Object ob = getWel.invoke(rebot, "Bob");
System.out.println("wel result is" + ob);
Method getHi = rc.getMethod("sayHi", String.class);
Object obj = getHi.invoke(rebot, "hi");
System.out.println("getHi result is " + obj);
Field name = rc.getDeclaredField("name");
name.setAccessible(true);
name.set(rebot, "alice");
Object obj2 = getHi.invoke(rebot, "hi");
System.out.println("getHi result2 is " + obj2);
} catch (Exception e) {
e.printStackTrace();
}
}