Field字段属性是类上的,用来取某个对象上的对应字段,而不是对象上的。下面是举例的代码。- import java.lang.reflect.Field;
- public class ReflectTest
- {
-
- public static void main(String[] args) throws Exception
- {
-
- ReflectPoint rp = new ReflectPoint(3, 5);
- Field filedY = rp.getClass().getField("y");
- //filedY的值是多少呢?是5吗,不是。这里的filedY不是对象身上的,而是类身上的,用来取某够对象上面的值。
- System.out.println(filedY.get(rp));
- }
- }
- public class ReflectPoint
- {
-
- public int x;
-
- public int y;
-
- public ReflectPoint(int x, int y)
- {
-
- super();
- this.x = x;
- this.y = y;
- }
-
- }
复制代码 |