快来 ,一起复习一下反射

news/2024/12/26 21:39:58/

背景

工作也有四年了,基础的东西许久不看有些遗忘。一起来复习一下吧

什么是反射?

反射是在运行状态中,对于任意一个类,都能获取该类的所有属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性,这种动态获取类信息以及动态调用对象内容就称为Java的反射机制。

反射的用法

Class.forName(String className),
className.class,
对象.getClass()。

为什么要用反射呢?new不香吗

反射的重点在于运行阶段获取类的信息和调用类的方法,所以当你需要“某些信息在编码阶段不清晰,需要在运行阶段动态加载”,在这种场景下,可以使用反射。

反射应用场景

 1.使用JDBC链接数据库时加载数据库驱动Class.forName()2.Spring通过反射来帮我们实例化对象,并放入到IOC容器中3.逆向代码  例如反编译4.利用反射,在泛型为int的arryaList集合中存放一个String类型的对象

原理:集合中的泛型只在编译器有效,而到了运行期,泛型则会失效

反射的优缺点

 1。优点运行期类型的判断,动态类的加载,动态代理使用反射2。缺点性能是个问题,反射相当于一系列解释,通知jvm要做的事情,性能比直接的Java程序要慢。

反射和new的区别

  1. 通过反射创建对象时,可以根据类的全限定名(包括包名)来创建对象,而new创建对象时,只能根据类的简单名称来创建对象;

  2. 通过反射创建对象时,可以创建私有构造方法的对象,而new创建对象时,只能创建公有构造方法的对象;

  3. 通过反射创建对象时,可以在运行时动态的创建对象,而new创建对象时,只能在编译时创建对象;

  4. 通过反射创建对象时,可以创建任意类的对象,而new创建对象时,只能创建当前类的对象。

参考
https://blog.csdn.net/x_christ1/article/details/104591277
https://www.5axxw.com/questions/simple/hc2wjo


http://www.ppmy.cn/news/138881.html

相关文章

Photoshop CS6 简体中文版

Adobe PhotoShop CS6是一款公告强大的图片编辑软件。Photoshop CS6比PhotoShop CS5加强3D图像编辑,采用新的暗色调用户界面,其他改进还有整合Adobe云服务、改进文件搜索等。华军软件园为您提供Photoshop CS6中文版下载。 Photoshop CS6 简体中文版普通下…

Adobe Photoshop CS6简体中文版

1. 右键软件压缩包选择解压到“Photoshop CS6”。资源地址:Adobe Photoshop CS6简体中文版 z 2. 进入解压好的文件夹,鼠标右击Set-up,选择以管理员的身份运行开始安装 3. 弹出如下对话框,我们选择忽略并继续 4. 选择简体中文&am…

Adobe Photoshop 2021 22.1.1.138中文版(win/mac)

转载自亿品元素 原文链接:http://www.epinv.com/post/7718.html Adobe Photoshop(简称PS)是全球最流行的图像及照片后期处理专业软件。当前最新版本号为:Photoshop 2021 22.1.1.138。Photoshop 新版本主要增加了Neural Filters&a…

如果我们使用大字符串作为 MySQL 索引键会发生什么

背景 正如我之前的文章里所解释的那样,B树的深度决定了MySQL在仅考虑使用索引的情况下的最坏查询性能。在SSD的帮助下,拥有一个比4层更深的B树应该是可以接受的。 那么下一个问题是:性能可能有多糟糕?在这里,我有意设…

2023年6月跟产品开发专家学NPDP产品经理认证课到这里

NPDP产品经理国际资格认证是国际公认的唯一的新产品开发专业认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 我们针对互联网时代的个人、互联网企业、与传统企业推出一系列学习。 课程从…

信通院公布2023低代码·无代码最新评估结果,阿里云两案例入选!

2023 年 5 月 19 日,由中国信息通信研究院(以下简称“中国信通院”)、中国通信标准化协会主办,中国通信标准化协会云计算标准和开源推进委员会承办,企业数字化发展共建共享平台支持的“2023 低代码无代码产业大会”在北…

什么是空气能热水器

就是 热泵热水器 说白了就是热泵产热到水里. 热泵熟悉吧,就是空调. 即 夏天空调外机压缩放热,内机冷却液蒸发吸热. 那么厂家就想把压缩放热的热量利用起来,即转移到水中,和热水器结合. meiD 就这么搞. 瞎je起名字hyou人. 用脑子想想, 就觉得不咋靠谱. 至少噱头成分更大.

【Python练习】Matplotlib数据可视化

文章目录 一、实验目标二、实验内容1. 用画布的各种设置,绘制类似如图1所示的:y1=sin(x)和y2=cos(x)的曲线图2. 某校高一3班12名同学语数外三科成绩分布情况如表5-2所示,数据值也可以自拟,适当调整。绘制折线图、纵向条形图分析这些同学单科成绩情况,绘制纵向堆叠条形图查…