//利用反射的Field来获取成员变量方法
Person p = new Person();
Field fy = p.getClass().getField("y");
System.out.println(fy.get(p));
Field fx = p.getClass().getDeclaredField("x");//获取私有的变量
fx.setAccessible(true); //为true表示获得修改的权限
System.out.println(fx.get(p));
changStringValue(p);
Field fy2 = p.getClass().getField("y");
System.out.println(fy2.get(p));
//利用反射的Method来获取类中的方法
Class clas = Num4.class;
Method add = clas.getMethod("add", new Class[]{int.class,int.class});
//invoke类的(Object obj,Object args[])方法接受的参数必须为对象
//如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象
Object obj = (Object)add.invoke(clas.newInstance(), new Object[]{new Integer(100),new Integer(200)});
System.out.println(obj);
}