class DemoTest{
private String name="123";
public getName(){
system.out.println("public getName " + name);
return name;
}
private getName2(){
system.out.println("private getName2 " + name);
return name;
}
}
如这个,要改变name的值。如何改变。通过java反射如何改变
先来看看如何用反射来调用getName方法
class<DemoTest> calzz=DemoTest.class;
Constructor cons=clazz.getConstructor(new class[]{});//这个是得到class对象的构造方法。参数为构造方法的参数的类的对象。
如:DemoTest有一个构造方法为public DemoTest(String arg0,String arg1){......}
这时,Constructor cons=clazz.getConstructor(new class[]{String.class,String.class});两个String.calss分别对应arg0,arg1.
接下来是:
DemoTest test=(DemoTest)cons.newInstance(new Object[]{});//生成相应的对象。参数new Object[]{} 就是构造方法对应的参数的具体值。如刚才的:
DemoTest test=(DemoTest)cons.newInstance(new Object[]{“李车”,"张三"});
接下来:
Method method=clazz.getMethod("getName",new Class[]{String.class});
method.invoke(test,new Object[]{"王五"});
这时就可以打印出王五了。
那要如何把name为private 的值进行改变呢。
1。先得到field,
Field field=clazz.getDeclaredField("name");
2.将此对象的 accessible
标志设置为指示的布尔值。值为 true
则指示反射的对象在使用时应该取消 Java
语言访问检查。值为 false
则指示反射的对象应该实施 Java 语言访问检查。
field.setAccessible(true);
3.对变量值进行修改
field.set("name","王五");
OK;
要访问私有的方法也是一样。
Method method=clazz.getDeclaredMethod("getName2");
method.setAccessible(true);
method.invoke(test,new Object[]{"王五"});
OK!
分享到:
相关推荐
本代码是基于python pytorch环境安装的。下载本代码后,有个环境安装的requirement.txt文本,环境需要自行配置。或可直接参考下面博文进行环境安装。 https://blog.csdn.net/no_work/article/details/144331388 安装好环境之后, 代码如需重新训练的话,需要依次运行 01、02、03py文件。 ,如果只是调用已经训练好的模型,去做识别的话,直接运行03pyqt.py即可 以下关于每个py文件的介绍: 输入指令python 01划分数据集.py 就会将我们的数据集转成yolo格式的txt,同时生成train.txt和val.txt,和配置文件data.yaml 运行02train.py即可开始训练模型。 最后运行03pyqt.py文件就有pyqt的可视化界面。 通过点击加载图片按钮,来选择我们要识别的图片,再点击检测按钮就可以完成识别了。 如果要使用摄像头检测功能直接点击摄像头按钮即可实时检测。
个人中心:用户可以在这里管理自己的个人信息,如查看和更新个人资料、订单历史、收藏等。 用户管理:这个模块可能用于管理用户账户,包括注册、登录、权限分配等。 家具分类管理:用于管理家具的分类,比如客厅家具、卧室家具、厨房家具等,方便用户根据类别浏览商品。 家具新品管理:这个模块可能用于管理新上架的家具产品,包括新品的添加、展示和推广。 系统管理:涉及到小程序的后台管理,可能包括系统设置、数据维护、安全监控等功能。 订单管理:用户可以在这里查看和管理自己的订单,包括下单、支付、查看订单状态、售后服务等。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具
CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
基于微信的疫情期间学生请假与销假系统的设计与实现源代码(java+小程序+mysql+LW).zip
CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
【资源说明】 基于中医药知识图谱智能问答源码+文档+全部资料.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
旨在为机器学习和深度学习应用提供高质量的真实人脸和AI生成的人脸图像。这个数据集对于开发和测试能够区分真实和AI生成面部图像的分类器至关重要,适用于深度伪造检测、图像真实性验证和面部图像分析等任务。 该数据集精心策划,支持前沿研究和应用,包含了从多种“灵感”源(如绘画、绘图、3D模型、文本到图像生成器等)生成的图像,并通过类似StyleGAN2潜在空间编码和微调的过程,将这些图像转化为照片级真实的面部图像。数据集还包含了面部标志点(扩展的110个标志点集)和面部解析语义分割图。提供了一个示例脚本(explore_dataset.py),展示了如何在数据集中访问标志点、分割图,以及如何使用CLIP图像/文本特征向量进行文本搜索,并进行一些探索性分析。 数据集的四个部分总共包含了约425,000张高质量和策划的合成面部图像,这些图像没有隐私问题或许可证问题。这个数据集在身份、种族、年龄、姿势、表情、光照条件、发型、发色等方面具有高度的多样性。它缺乏配饰(如帽子或耳机)以及各种珠宝的多样性,并且除了头发遮挡前额、耳朵和偶尔眼睛的自我遮挡外,不包含任何遮挡。
项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:springboot,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3
【资源说明】 基于豆瓣图书的推荐、知识图谱与知识引擎简单构建neo4j源码+文档+全部资料.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
ROM数据库框架EFCore使用示例源码,vs2022运行通过
实现了首页、个人中心、学员管理、教练管理、驾校信息管理、驾校车辆管理、教练预约管理、考试信息管理、预约考试管理、系统管理等。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具
如愿公益文件v7-2(3).zip
(1)管理员功能分析 管理员可进行后台进行管理,包含个人中心、图书信息管理、图书类型管理、电子书论坛以及系统管理。 (2)用户功能分析 用户注册登录后主要功能模块包括首页、图书信息、电子书论坛以及我的(图书信息、阅读记录、我要发帖、我的发帖)。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具
本基于微信小程序的民大食堂用餐综合服务平台有管理员,商家,用户。管理员功能有个人中心,用户管理,商家管理,档口号管理,商家餐品管理,餐品种类管理,购物车管理,订单信息管理,签到信息管理,优惠活动管理,我的活动管理,系统管理等。商家功能有个人中心,商家餐品管理,餐品种类管理,购物车管理,订单信息管理,签到信息管理,优惠活动管理,我的活动管理等。用户可以订餐。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具
项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:springboot,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3
Python经典题库及答案(67页)
管理员权限主要实现了管理员服务端;首页、个人中心、学生管理、座位信息管理、自习室分类管理、座位预约管理、学院分类管理、专业分类管理、留言板管理、系统管理,学生微信端;首页、座位信息、座位预约、我的等功能,基本上实现了整个图书馆自习室座位预约小程序信息管理的过程。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具
项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:springboot,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3
文件网络安全学习视频我爱i
本基于微信小程序开发的酒店管理系统管理员,酒店管理员以及用户。管理员功能可以管理个人中心,用户信息管理,酒店管理员管理,房间类型管理,房间信息管理,订单信息管理,系统管理等。用户可以预定酒店。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具