java中反射机制通过字节码文件对象获取字段和函数的方法
2023-09-14 09:07:41 时间
pclass = Class.forName("get_class_method.Person"); //Field ageField = pclass.getField("age");//因为age成员变量是私有的,所以会产生NoSuchFieldException异常 Field ageField = pclass.getDeclaredField("age");//获得该对象反映此 Class 对象所表示的类或接口的指定已声明字段 Object obj = pclass.newInstance(); //ageField.set(obj, 12);//因为age是私有的,所以即使获取到了,还是不能访问,如果硬要访问,就要强制设置访问权限 ageField.setAccessible(true);//对于构造函数和普通成员方法都可利用相应的setAccessible()函数进行设置! //虽然获取到了该字节码的字段,如果设置或得到该字段的具体的值,那么必须指明是哪一个对象的! ageField.set(obj, 12);//设置字段的值 System.out.println(ageField.get(obj));//获取字段的值 //普通成员函数的获取 Method method1 = pclass.getMethod("method1", null); method1.invoke(obj, null); Method method2 = pclass.getMethod("method2", String.calss, int.class); method2.invoke(obj, "小强", 20);
相关文章
- java 上传文件接口_Java接口实现文件上传
- java 音频转为wav格式标准音频 | Java工具类
- 一个java文件如何放两个public class 类「建议收藏」
- java删除文件目录及文件_Java删除文件,目录
- Java基础知识点笔记(一):java中的取整与四舍五入
- think in java一_Think in Java(一):Java基础「建议收藏」
- java源程序文件扩展名_JAVA源代码的扩展名为( )
- eclipse怎么导入java文件_Eclipse如何导入JAVA工程?如何将项目导入Eclipse中?
- Kotlin与Java的异同(一)
- java一个字符几个字节_Java 语言中一个字符占几个字节?
- eclipse运行java程序_如何在Eclipse中运行简单的Java程序?「建议收藏」
- java 读取字符串文件_Java读取文件为字符串
- java 随机数算法_Java随机数算法原理与实现方法实例详解
- JVM篇【Java源文件和Class字节码文件对比】
- 转换流实现了字节流和字符流之间的互相转换_java输出流输出文件
- JVM底层—Java Class字节码文件解析
- java 测试程序代码运行时间过长_Java测试
- Java基础学习(1)
- 【Android 热修复】热修复原理 ( 热修复框架简介 | 将 Java 字节码文件打包到 Dex 文件 )
- 【Java 虚拟机原理】栈帧 | 动态链接 | 方法区 | 字节码文件二进制分析
- 【Java 虚拟机原理】Class 字节码二进制文件分析 四 ( 字段表数据结构 | 字段表详细分析 | 访问标志 | 字段名称 | 字段描述符 | 属性项目 )
- 【Java 虚拟机原理】Class 字节码二进制文件分析 六 ( 属性类型 | Code 属性 | 属性名称索引 | 属性长度 | 操作数栈最大深度 | 局部变量存储空间 | 字节码长度 )
- java栈数据结构的LinkedList实现详解编程语言
- java集合框架02详解编程语言
- java实现Excel数据导出详解编程语言
- JAVA操作properties文件详解编程语言
- Java程序员如何优雅操作Redis(java操作redis)
- 时间Java实现Redis中Key的过期时间控制(redisjava过期)
- 测试Java操作Redis实例(java测试redis)
- Linux系统下Java软件环境搭建指导(linux java软件)
- Java导入Oracle 实现快速数据传输(java导入oracle)
- 浅析java创建文件和目录