本帖最后由 kira 于 2014-2-22 16:36 编辑
需求是 得到一个字段 用反射的方法取出这个值
我是这么写的- import java.lang.reflect.Constructor;
- import java.lang.reflect.Field;
- import java.lang.reflect.InvocationTargetException;
- public class ConDemo {
-
- public static void main(String[] args) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
- // TODO Auto-generated method stub
-
- Reflectpo rp = new Reflectpo(3,5);
- //得到一个字段 必须要得到这个类的字节码 rp.getClass()
- Field fy = rp.getClass().getField("y");
- //这里的fy不代表一个具体的值 只代表一个变量
- System.out.println(fy.get(rp));
- }
- }
- class Reflectpo{//创建一个类
- private int x,y;
- Reflectpo(int x ,int y){
- super();
- this.x=x;
- this.y=y;
-
- }
-
- }
复制代码
结果却抛出
Exception in thread "main" java.lang.NoSuchFieldException: y
没有这个字段 这是为什么
|