反射(Field类)
来源:互联网 发布:网络与通信技术 编辑:程序博客网 时间:2024/05/12 17:51
Field类代表某个类中的一个成员变量,并提供动态的访问权限
得到所有的成员变量
Field[] fields = c.getFields(); // 取得所有public属性
Field[] fields = c.getDeclaredFields(); // 取得所有声明的属性
得到指定的成员变量
Field name = c. getField(“name”);
Field name = c. getDeclaredField(“name”);
设置Filed变量是否可以访问
field. setAccessible(boolean);
Field变量值的读取、设置
field.get(obj)
filed.set(obj,value);
package cn.itcast.reflect;import java.lang.reflect.Field;import org.junit.Test;public class Demo2 { @Test //Field类。它代表的是属性 public void demo5() throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, InstantiationException { //Field对象的获取也是通过Class Class clazz=Teacher1.class; Field fname=clazz.getField("name");//相当于得到了String name属性 Teacher1 t=(Teacher1) clazz.newInstance(); System.out.println(fname.get(t));//得到属性值 //对属性进行赋值操作 fname.set(t, "yangcheng"); System.out.println(t.name); }}class Teacher1{ public String name="Jack"; public int age=30;}
假如属性为private,则需要使用getDeclaredField。并且需要设置权限检查,
package cn.itcast.reflect;import java.lang.reflect.Field;import org.junit.Test;public class Demo2 { @Test //Field类。它代表的是属性 public void demo5() throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, InstantiationException { //Field对象的获取也是通过Class Class clazz=Teacher1.class; Field fname=clazz.getDeclaredField("name");//相当于得到了String name属性 fname.setAccessible(true);//true相当于取消安全检查 Teacher1 t=(Teacher1) clazz.newInstance(); System.out.println(fname.get(t));//得到属性值 //对属性进行赋值操作 fname.set(t, "yangcheng"); System.out.println(t.getName()); }}class Teacher1{ private String name="Jack"; public int age=30; public String getName() { return name; } public void setName(String name) { this.name = name; } }
0 0
- 反射(Field类)
- 反射-Field类
- java 反射 Field类
- java 反射 Field类
- java 反射 Field类
- java 反射 Field类
- java 反射 Field类
- 反射(4)--Field类
- Java反射(三)Field
- 反射 --- 成员变量Field类的反射
- Java反射-使用Field类来操作类的成员变量(Field)
- 黑马程序员---反射(Class类、Constructor类、Field类)
- JavaSE 反射 (进阶) Constructor类 & Field类 的使用
- JavaSE 学习参考:反射机制(2)Field类
- 反射--Field
- 反射-Field
- 反射Field
- 反射(二)Class类,Method类,Field类,反射获得带参数的对象
- PS切图
- 深入Java集合学习系列:HashMap的实现原理
- static有什么作用
- 模板匹配
- 全志R16平台的TINAV2.0系统下的WIFI连接和SSH连接(AP6212)
- 反射(Field类)
- 【Codeforces Beta Round #51】Codeforces 55D Beautiful numbers
- Appium+Robotframework实现手机应用的自动化测试-2:安装条件
- mysql版网络验证自动发卡功能
- 系统学习JavaWeb之六别有洞天的Servlet进阶篇HttpServlet
- Vue+Vuex+Router
- 第七章上机练习2
- codevs 1331 西行寺幽幽子
- Maven的dependency和dependencyManagement的区别