java 的反射机制

1.反射基本概念

类创建对象的时候,都是在编译的时候完成。

反射不一样

它是在运行时,而非编译时

动态获取类型的信息,比如:

接口信息、成员信息、方法信息、构造方法信息....
根据这些动态获取到的信息创建对象、访问/修改成员、调用方法等。

2.反射的使用场景

序列化库Jackson,利用反射和注解实现了通用的序列化/反序列化机制
Spring MVC, Jersey用于处理Web请求,利用反射和注解,能方便的将用户的请求参数和内容转换为Java对象,将Java对象转变为响应内容
Spring, Guice利用这些特性实现了对象管理容器,方便程序员管理对象的生命周期以及其中复杂的依赖关系
应用服务器比如Tomcat利用类加载器实现不同应用之间的隔离、JSP技术也利用类加载器实现修改代码不用重启就能生效的特性
AOP将编程中通用的关注点比如日志记录、安全检查等与业务的主体逻辑相分离,减少冗余代码,提高程序的可维护性,AOP需要依赖上面的这些特性来实现

3. 运用

就是通过class文件对象,去使用该文件中的成员变量,构造方法,成员方法。
Class类:
  • 成员变量 Field

  • 构造方法 Constructor

  • 成员方法 Method

3.2 获取 Class 对象

  • A:Object类的getClass()方法

  • B:数据类型的静态属性class

  • C:Class类中的静态方法 forName(String className)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 反射机制的功能 Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象...
    Anderson大码渣阅读 2,877评论 1 43
  • 学习Android的同学注意了!!!学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Android学习交流群...
    kingZXY2009阅读 338评论 0 0
  • Using Java ReflectionBy Glen McCluskey January 1998 Refle...
    转工阅读 1,253评论 0 2
  • 1.Java反射机制 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用...
    不会code的程序猿阅读 1,107评论 0 4
  • 起因 反射是一种很通用的技术,几乎在大部分的jar包中都会利用到反射机制,而且,我所学习到的几门语言中,都存在反射...
    赵镇阅读 385评论 0 2