![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java反射机制
Java反射机制概述
理解Class类并获取Class实例
类的加载与ClassLoader的理解
创建运行时类的对象
获取运行时类的完整结构
调用运行时类的指定结构
反射的应用:动态代理
HelloWorld__K
这个作者很懒,什么都没留下…
展开
-
07_反射的应用:动态代理
动态代理静态代理:动态代理:动态代理步骤:动态代理与AOP (Aspect Orient Programming) 代理理 设计模式的原理: 使用一个代理将对象包装起来, 然后用该代理对象取代原始象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。 动态代理相比于静态代理的优点: 抽象角色中(接口)声明的所有方法都被转移到调用处理器一个集中的方法中处理,这样,我们可以更加灵活和统一的处理众多的方法。(看完下面就能理解)静态代理: 创建一个接口,然后创建被原创 2020-11-12 16:52:32 · 78 阅读 · 0 评论 -
06_调用运行时类的指定结构
调用运行时类的指定结构1.调用指定方法2.调用指定属性关于setAccessible 方法的使用1.调用指定方法通过反射,调用类中的方法,通过Method类完成。步骤: 1.创建运行时类的对象(链接跳转) 2.通过Class类的getMethod(String name,Class…parameterTypes)方法取得一个Method对象,并设置此方法操作时所需要的参数类型。 3.之后使用Object invoke(Object obj, Object[] args)进行调用,并向方法中原创 2020-11-12 14:43:26 · 87 阅读 · 0 评论 -
05_获取运行时类的完整结构
获取运行时类的完整结构获取运行时类的完整结构获取运行时类的完整结构1. 实现的全部接口 public Class<?>[] getInterfaces() 确定此对象所表示的类或接口实现的接口。2. 所继承的父类 public Class<? Super T> getSuperclass() 返回表示此 Class 所表示的实体(类、接口、基本类型)的父类的Class。3. 全部的构造器 public Constructor[] getConstructors()原创 2020-11-12 11:26:11 · 77 阅读 · 1 评论 -
04_创建运行时类的对象
创建运行时类的对象创建运行时类的对象创建类对象方法一创建类对象方法二创建运行时类的对象创建类对象方法一调用Class对象的newInstance()方法要 求: 1. 类必须有一个无参数的构造器。 2. 类的构造器的访问权限需要足够。创建类对象方法二步骤如下: 1. 通过Class类的getDeclaredConstructor(Class … parameterTypes)取得本类的指定形参类型的构造器 2. 向构造器的形参中传递一个对象数组进去,里面包含了构造器中所需的各个参原创 2020-11-12 11:06:44 · 157 阅读 · 1 评论 -
03_类的加载与ClassLoader的理解
类的加载与ClassLoader的理解类的加载过程什么时候会发生类初始化 ?ClassLoader类加载器解释类的加载过程 当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过如下三个步骤来对该类进行初始化。类加载器的作用:类加载的作用:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口。类缓存:标准的JavaSE类加载器可以按要求查找类,但一旦某原创 2020-11-12 10:52:57 · 79 阅读 · 0 评论 -
02_理解Class 类并获取Class 的实例
理解Class类并获取Class的实例 在Object类中定义了以下的方法,此方法将被所有子类继承:public final Class getClass() 以上的方法返回值的类型是一个Class类,此类是Java反射的源头,实际上所谓反射从程序的运行结果来看也很好理解,即:可以通过对象反射求出类的名称。Class 类对象照镜子后可以得到的信息:某个类的属性、方法和构造器、某个类到底实现了哪些接口。对于每个类而言,JRE 都为其保留一个不变的 Class 类型的对象。一个 Class 对象包含原创 2020-11-12 10:02:58 · 113 阅读 · 0 评论 -
01_Java反射机制概述
Java反射机制概述Java ReflectionReflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:...原创 2020-11-11 22:23:52 · 71 阅读 · 0 评论