简介:Reflection视为动态语言的关键,允许程序在执行期间借助 Reflection API 取得任何类的内部信息,从而操作任意对象的内部属性和方法。
功能:运行时获取类的内部信息(注解也是)
类的加载:java文件--javac.exe--.class文件--java.exe加载到内存(由JVM类加载器完成)--运行时类(存在于缓存区,本身就是一个Class的实例)
类加载 整个过程 类加载器反射相关API
java.lang.Class:代表一个类
简介:Object类定义了getClass方法返回一个Class类,该类是反射的源头,通过对象反射求出类的名称。
(通过运行时类的对象,调用器getClass方法返回其运行时类)
功能:创建运行时类对应的对象,获取属性、方法、构造、内部类、父类、所在包、异常、注解等。
获取Class类
获取Class类获取全部信息
获取全部信息动态代理
简介:通过代理类来调用目标类对象的方法,并且是在程序运行时根据需要动态创建目标类的代理对象。
原理:使用代理将对象包装起来代替原始对象,任何对原始对象的调用都需通过代理,代理对象再决定对原始对象调用的一些操作。
网友评论