1.获取字节码文件中的字段:
(1)获取公共字段,使用Class中的getField()方法。
注:将Person类中的age访问权限改为public:
(1)获取公共字段,使用Class中的getField()方法。
注:将Person类中的age访问权限改为public:
public static void getPublicFieldDemo() throws Exception{
String className = "Person";
Class clazz = Class.forName(className);
Field field = null;
field = clazz.getField("age");
Object obj = clazz.newInstance();
Object o = field.get(obj);
System.out.println(o);
}
结果:
---------- java ----------
Person run
0
Output completed (0 sec consumed) - Normal Termination
若age访问权限为private,则会报访问异常:
---------- java ----------
Exception in thread "main" java.lang.NoSuchFieldException: age
at java.lang.Class.getField(Class.java:1690)
at