java吧 关注:1,301,357贴子:12,848,406
  • 3回复贴,共1

像获取父类的filed但总是显示木有此数

只看楼主收藏回复

public static Object invokeField(String className, String filedName,
Object args) throws Exception {
Class<?> clazz = Class.forName(className);
for (Class<?> clazz2 = clazz; clazz2 != Object.class; clazz2 = clazz
.getSuperclass()) {
Field field = clazz2.getDeclaredField(filedName);
field.setAccessible(true);
Object obj = clazz.newInstance();
field.set(obj, args);
return field.get(obj);
}
return null;
}
}
运行结果
12
Exception in thread "main" java.lang.NoSuchFieldException: age
at java.lang.Class.getDeclaredField(Unknown Source)
at com.miyabi.lesson66.testinvokeField.invokeField(testinvokeField.java:23)
at com.miyabi.lesson66.testinvokeField.main(testinvokeField.java:11)
求解


1楼2014-08-07 02:14回复
    public class testinvokeField {
    public static void main(String[] args) throws Exception {
    Student p = new Student();
    p.setAge(12);;
    System.out.println(p.getAge());
    System.out
    .println(invokeField("com.miyabi.lesson66.Student", "age", 20));
    }


    2楼2014-08-07 02:15
    回复
      2026-04-14 03:41:10
      广告
      不感兴趣
      开通SVIP免广告
      自顶下


      3楼2014-08-07 05:29
      回复
        自顶


        4楼2014-08-07 17:39
        回复