概述
今天在苏州,没事闲着写下自己的一份博客,自己在看代码的时候遇到问题就喜欢总结,希望有一天能成为像郭大神鸿洋这样的大神!
进入今天的正题
1.怎么通过反射获取类的属性
a)Class.getDeclaredField(String name);
返回一个 Field
对象,该对象反映此 Class
对象所表示的类或接口的指定已声明字段。
比如说student中的name这个字段
b)Class.getDeclaredFields();
返回
Field
对象的一个数组,这些对象反映此 Class
对象所表示的类或接口所声明的所有字段
这个返回的就是字段的数组也就是把所有的字段都收集起来
Field [] prFields4=stu.getClass().getDeclaredFields();
for(Field field:prFields4)
{
System.out.println(field);
System.out.println(field.equals(property1));
//私有变量必须先设置Accessible为true
field.setAccessible(true);
//获取用get类方法。
System.out.println(field.get(stu));
}
//设置用set类方法 可以为该字段的属性设置值
property3.set(stu, "名字被我改了,哈哈");
Text a = new Text();
Field field = null;
field = a.getClass().getDeclaredField("x");
System.out.println("xiugaiqiandezhi----------------"+ field);
打印出来的是一个地址private java.lang.String Text.x
field.set((Object) a, "8");
System.out.println("xiugaiqiandezhi----------------"+ field.get(a));
最后
以上就是顺心电源为你收集整理的关于Field反射的简单理解的全部内容,希望文章能够帮你解决关于Field反射的简单理解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复