java中的反射提供什么功能
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要讲解了"java中的反射提供什么功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java中的反射提供什么功能"吧!1、说明在运行时判断任
千家信息网最后更新 2025年02月04日java中的反射提供什么功能
这篇文章主要讲解了"java中的反射提供什么功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java中的反射提供什么功能"吧!
1、说明
在运行时判断任意一个对象所属的类
在运行时构造任意一个类的对象
在运行时判断任意一个类所具有的成员变量和方法
在运行时获取泛型信息
在运行时调用任意一个对象的成员变量和方法
在运行时处理注解
生成动态代理
2、实例
@Testpublic void test1() throws Exception { Classclazz = Person.class; //1.通过反射,创建Person类对象 Constructor cons = clazz.getConstructor(String.class, int.class); Person person = cons.newInstance("Tom", 12); System.out.println(person);//Person{name='Tom', age=12} //2.通过反射,调用对象指定的属性、方法 //调用属性 Field age = clazz.getDeclaredField("age"); age.setAccessible(true); age.set(person, 10); System.out.println(person.toString());//Person{name='Tom', age=10} //调用方法 Method show = clazz.getDeclaredMethod("show"); show.invoke(person);//my name is Tom and age is 10 System.out.println("==================================="); //通过反射,可以调用Person类的私有结构的。比如:私有的构造器、方法、属性 //调用私有的构造器 Constructor cons1 = clazz.getDeclaredConstructor(String.class); cons1.setAccessible(true); Person p1 = cons1.newInstance("Bruce"); System.out.println(p1);//Person{name='Bruce', age=0} //调用私有的属性 Field name = clazz.getDeclaredField("name"); name.setAccessible(true); name.set(p1, "Jarry"); System.out.println(p1); //调用私有的方法 Method nation = clazz.getDeclaredMethod("nation", String.class); nation.setAccessible(true); Object nation1 = (String) nation.invoke(p1, "China");//相当于String nation = p1.showNation("China") System.out.println(nation1);//I come from China}
感谢各位的阅读,以上就是"java中的反射提供什么功能"的内容了,经过本文的学习后,相信大家对java中的反射提供什么功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
反射
方法
运行
对象
私有
功能
属性
学习
内容
变量
成员
构造器
信息
动态
实例
就是
思路
情况
所属
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
荔波青年网络技术有限公司
气体充装软件开发
湖南数据网络技术
国家网络安全竞赛
在数据库中用or
海南软件开发工资待遇
会话管理器服务器
plsql数据库显示乱码
网络安全的访问控制技术
违法网络安全法的案例
网络安全问题不算主动攻击吗
巢湖导航软件开发
数据库安全报告流程
服务器主板排名
上交数据库文件的指令
徐汇区第三方软件开发以客为尊
服务器版iis重新启动
软件开发如何测试需求左移
泰州游戏软件开发流程
软件开发且增值税优惠
沈阳巨量引擎网络技术有限公司
软件开发应知应会百度文库
焦作市知然网络技术有限公司
数据库路由规则十库百表
兰州国资委网络安全
网络安全自查表怎么填写
浙江行知学院网络安全怎么样
数据库列表的命令
剑网三换服务器
华为外包软件开发每天工作时间