共计 777 个字符,预计需要花费 2 分钟才能阅读完成。
Java 反射
1. 反射的概述
Refiection 反射 是 java 被视为动静语言的要害 反射机制容许程序在执行期借助于 reflectionAPI 获得任何类的外部信息 并可能间接操作任意对象外部属性及办法
Java 反射机制提供了一下性能
在运行时结构任意一个类的对象
在运行时获取任意一个类所具备的成员变量和办法
在运行时调用任意一个对象的办法 属性
生成动静代理
2. 为什么须要用到反射?
Java 反射最大的益处就是能 在运行期间,取得某个类的构造、成员变量,用来实例化。
下列是具体应用场景:如果咱们有两个程序员,一个程序员在写程序的时候,须要应用第二个程序员所写的类,但第二个程序员并没实现他所写的类。那么第一个程序员的代码是否通过编译呢?这是不能通过编译的。利用 Java 反射的机制,就能够让第一个程序员在没有失去第二个程序员所写的类的时候,来实现本身代码的编译。Java 的反射机制它晓得类的根本构造,这种对 Java 类构造探知的能力,咱们称为 Java 类的“自审”。大家都用过 Jcreator 和 eclipse。当咱们构建出一个对象的时候,去调用该对象的办法和属性的时候。一按点,编译工具就会主动的把该对象可能应用的所有的办法和属性全副都列出来,供用户进行抉择。这就是利用了 Java 反射的原理,是对咱们创建对象的探知、自审。
(咱们在前面的学习中, 会学习框架, 有一个框架 Spring 就是一个十分业余且功能强大的产品,它能够帮咱们创建对象,治理对象。当前我无需手动 new 对象,间接从 Spring 提供的容器中的 Beans 获取即可。Beans 底层其实就是一个 Map<String,Object>,最终通过 getBean(“user”)来获取。而这其中最外围的实现就是利用反射技术. 总结一句,类不是你创立的,是你共事或者间接是第三方公司,此时你要或得这个类的底层性能调用,就须要反射技术实现。)