【Java基础】反射篇
前言:java如何在运行时识别对象和类的信息.有两种实现方式 传统RTTI 反射 RTTI和反射有什么区别? 对RTTI来说,编译器在编译时打开和检查.class文件而反射机制来说,.class文件在编译时是不可获取得,所以在运行时打开和检查.class文件() 反射是框架设计的灵魂 原理 : 反射首先是能够获取到Java中的反射类的字节码,然后将字节码中的方法,变量,构造函数等映射成 相应的 Method、Filed、Constructor 等类 应用 :取出类的modifiers,数据成员,方法,构造器,和超类 找出某个接口里定义的常量和方法说明. 取得和设定对象数据成员的值,如果数据成员名是运行时刻确定的也能做到. 在运行时刻调用动态对象的方法. 一、反射的概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象. 二 反射的作用 总结:通过Class类与java.lang.reflect类库一起对反射进行支持 反射的使用网上教程很多,研究Class类,Filed