package com.demo.day01;
import java.lang.reflect.Field;
public class ReflectPoint {
private int x;
public int y;
public ReflectPoint(int x,int y) {
super();
this.x = x;
this.y = y;
}
/**
* Field:代表字节码上面的变量,不代表对象上的变量
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
ReflectPoint pt1 = new ReflectPoint(3,5);
Field fieldY = pt1.getClass().getField("y");//getField(""):只能获取可见的,即public修饰的;
//fieldY的值是5吗?不是!
/**
* fieldY只代 表类上面的变量,不代表某个对象的值
*/
System.out.println(fieldY.get(pt1));//5
Field fieldX = pt1.getClass().getDeclaredField("x");//getDeclaredField(""):
System.out.println(fieldX.get(pt1));//3
}
}
反射-Field
最新推荐文章于 2024-04-13 15:31:30 发布