已知一个类的全称,如:org.common.test.Userinfo
我想获取这个类中name的字段值,可用如下方法:
Class cls = Class.forName("org.common.test.Userinfo");
Object obj = cls.newInstance();
Field field = cls.getField("name");
field.get(obj);我现在的问题时,我已知了一个只存在似有构造器的类全称,如:org.common.test.Users
就是说它不可以使用newInstance()方法。
那么我想获取这个类的一个静态字段的值该如何操作?譬如这个字段名为:name
程序里我当然可以写:User.name;来获取该值,但是我想动态获取,因为可能是多个拥有静态name字段的类,我要获取它们的这个静态字段值。
哪位高手给个答案,谢了!
我想获取这个类中name的字段值,可用如下方法:
Class cls = Class.forName("org.common.test.Userinfo");
Object obj = cls.newInstance();
Field field = cls.getField("name");
field.get(obj);我现在的问题时,我已知了一个只存在似有构造器的类全称,如:org.common.test.Users
就是说它不可以使用newInstance()方法。
那么我想获取这个类的一个静态字段的值该如何操作?譬如这个字段名为:name
程序里我当然可以写:User.name;来获取该值,但是我想动态获取,因为可能是多个拥有静态name字段的类,我要获取它们的这个静态字段值。
哪位高手给个答案,谢了!
Class<MyTest> clazz = MyTest.class;
Field field = clazz.getDeclaredField("num");
Object value = field.get(null);
System.out.println(value);
}
}class MyTest {
public final static int num = 5;
}