反射机制(3)—— 成员变量 的处理

有关反射机制的全部内容,请观看本人的同专栏博文——《详解 反射机制》

接之前的同专题博文,本人来继续讲解

获取 成员变量 的方式:

1.获取 所有“外部可视”成员

Field[] fieldSet = klass.getFields();
//klass是我们通过上面的提到的三种方式取得的

2.获取 所有成员

Field[] fieldSet = klass.getDeclaredFields();
//klass是我们通过上面的提到的三种方式取得的

那么,我们还是像上面展示构造方法数组一样,展示这两个数组,那么,我们来看一下运行结果:
在这里插入图片描述
那么,本人现在来展示一下 获取 某一成员的操作:

1.获取 某一 “外部可视”的成员

Field field = klass.getField("成员名称");
//klass是我们通过上面的提到的三种方式取得的
//“成员名称”必须是我们在调用的类中的成员的名称

2.获取 某一 “私有”的成员

Field field = klass.getDeclaredField("成员名称");
field.setAccessible(true);	//这一步等价于是强行读取私有方法,这样的语句在在我们的代码中最好少出现

那么,本人同样地给出调用 我们 获取到的 成员变量 的方式

调用获取到的 成员变量:

Object object = klass.getConstructor().newInstance();
//这一句相当于 调用了klass的无参构造
field.set(object, 参数);
//为名为object 的klass的对象的 field所调用的成员赋值
//constructor是我们通过上面的获取该方法的途径获得
//这里的“参数”,必须要符合我们获取该方法时所设定的 参数个数 及 参数类型

下面本人来演示下这个方式的操作过程以及结果:
在这里插入图片描述可以看到,我们改变了该成员变量的值。

以上就是 对于 成员变量 的处理的全部知识点了。
若对这篇博文有任何疑问或者意见以及建议,请在下方评论区提出,本人将尽早予以讲解以及答复,喜欢的同学请留下你们的赞,谢谢!!!

有关反射机制的全部内容,请观看本人的同专栏博文——《详解 反射机制》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值