java中反射操作公共成员变量
来源:互联网 发布:网络保密协议范本 编辑:程序博客网 时间:2024/06/08 09:52
java中 反射public成员变量(字段)
通过反射运行public变量流程
1. 通过反射获取该类的字节码对象
Class clazz = Class.forName("com.heima.Person");
2. 创建该类对象
Object p = clazz.newInstance();
3. 获取该类中需要操作的字段(成员变量)
getField(String name) --> 方法传入字段的名称.
注意: 此方法只能获取公共的字段
Field f = clazz.getField("age");
4. 通过字段对象中的方法修改属性值
void set(Object obj, Object value) --> 参数1): 要修改那个对象中的字段,参数2):将字段修改为什么值.
f.set(p, 23);
package com.itheima_01; import java.lang.reflect.Field; /* *通过反射获取成员变量并使用 *Field[] getFields() *Field getField(String name) * * Field[] getDeclaredFields() * Field getDeclaredField(String name) * * Field: * Object get(Object obj) * void set(Object obj, Object value) */public class ReflectDemo3 {public static void main(String[] args) throws ReflectiveOperationException {//获取学生类的字节码对象Class clazz = Class.forName("com.itheima_01.Student");//获取学生类的对象Object stu = clazz.newInstance();//Field getField(String name) :根据字段名称获取公共的字段对象Field f = clazz.getField("age");//获取成员变量对象//System.out.println(f);//void set(Object obj, Object value)f.set(stu,28);//通过成员变量对象,修改指定对为指定的值//Object get(Object obj)Object age = f.get(stu);//通过对象获取成员变量的值System.out.println(age);System.out.println(stu);} private static void method(Class clazz) {//Field[] getFields() :获取公共的成员变量Field[] fs = clazz.getFields();for (int i = 0; i < fs.length; i++) {System.out.println(fs[i]);}System.out.println("----------");//getDeclaredFields() :获取所有的成员变量Field[] fs2 = clazz.getDeclaredFields();for (int i = 0; i < fs2.length; i++) {System.out.println(fs2[i]);}}}
方法总结
通过反射获取成员变量并使用
Field[] getFields() -->返回该类所有(公共)的字段
Field getField(String name) -->返回指定名称字段
Field[] getDeclaredFields() -->暴力反射获取所有字段(包括私有)
Field getDeclaredField(String name) -->暴力反射获取指定名称字段
---------------马上讲-----------------
Field:
Object get(Object obj) --> Field对象调用,返回传入对象的具体字段
void set(Object obj, Object value) --> Field对象调用
参数1:要修改的对象
参数2:将此对象的字段修改为什么值.
- java中反射操作公共成员变量
- java中反射操作私有成员变量
- Java利用反射操作成员变量,方法
- java 成员变量的反射
- java反射类成员变量
- java反射类成员变量
- java反射类成员变量
- Java反射四 成员变量
- Java反射获取成员变量
- java 反射,访问成员变量
- 使用java反射操作类的构造函数,成员变量和成员方法
- 反射操作类的成员变量
- JAVA反射中类的构造函数,成员变量,成员方法的使用
- Java类成员变量的反射
- java 反射机制 读取私有成员变量
- java反射之访问成员变量代码
- java反射访问私有成员变量
- java基础--反射(成员变量)
- 【怎样写代码】函数式编程 -- Lambda表达式(三):LINQ初步
- 小民的ImageLoader 0.2版本
- 滴滴又惹祸了,高考生乘滴滴导致迟到1分钟被拒入场!
- Dubbo服务性能测试环境批量部署实现方案
- 数据结构概念及目录
- java中反射操作公共成员变量
- 工具使用:git使用方法
- 安卓连接打印机指令
- 老鼠运动Html
- R语言导入EXCEL数据
- MySql主从搭建、复制及配置实现
- 编译报错libcurl.a: No such file or directory
- Java多线程之优先级setPriority
- 高效简洁按键扫描程序模板