• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
第二天半
博客园    首页    新随笔    联系   管理    订阅  订阅

反射认识_02_反射成员变量Field

包01:
package ReflectionConstructor;

public class ReflectionFieldPoint {
    private int x;
    public int y;
    
    public ReflectionFieldPoint(int x, int y) {
        super();
        this.x = x;
        this.y = y;
    }
}

 


包02:
package
ReflectionConstructor;
import java.lang.reflect.Field; /** * 反射, * 获得成员变量 */ public class ReflectionField { public static void main(String[] args) throws Exception { ReflectionFieldPoint point1=new ReflectionFieldPoint(3, 8); /**y是public*/ Field fieldY=point1.getClass().getField("y"); //fieldY值是5吗? 不是!fieldY是ReflectionFieldPoint类的y //point1对应的y是5 int y=(int)fieldY.get(point1);//得到对象的x值 System.out.println(y); /** x是private*/ Field fieldX=point1.getClass().getDeclaredField("x");
     fieldX.setAccessible(true);//因为x是private,要设置成可以访问
int x=(int)fieldX.get(point1);//得到对象的x值 System.out.println(x); } }

 

posted @ 2014-12-04 23:08  第二天半  阅读(352)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3