第二十三章 反射

2024-01-02 07:06:48

在这里插入图片描述

1.反射机制问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.反射快速入门

在这里插入图片描述

假如Cat多了一个cry方法
在这里插入图片描述

我们想要去调用这个方法,只有修改源码
在这里插入图片描述
但现在我们不需要修改源码,修改配置文件即可
在这里插入图片描述
我们的源码没有修改,但我们的功能已经发生了变化
在这里插入图片描述

3.发射原理图

在这里插入图片描述
在这里插入图片描述

4.反射相关类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.发射调用优化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
快了一点点
在这里插入图片描述

6.Class类分析

在这里插入图片描述
2.
在这里插入图片描述
在这里插入图片描述
3.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

6,7.
在这里插入图片描述

7.Class常用方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.获取Class对象的6种方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.哪些类型有Class对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.动态和静态加载

在这里插入图片描述
静态加载
这里不在idea中写,因为在idea中写马上就会报错了
在这里插入图片描述
编译一下,报错
在这里插入图片描述
这里我们的Dog类不一定会用到,但这里不管这么多,怎么在加载的时候就会报错,这里称为静态加载

动态加载
在这里插入图片描述
在这里插入图片描述
编译通过
在这里插入图片描述
这里确实生成了CLASS文件,说明编译通过
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11.类加载流程图

在这里插入图片描述
在这里插入图片描述

12.类加载五个阶段(1)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.类加载五个阶段(2)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14.获取类结构信息(1)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里父类不局限于它的直接父类,它的父类的父类也可以
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在示例的类中添加构造器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例的类实现接口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在示例的类上加一个注解信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

15.获取类结构信息(2)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面我们调整一下给出的类的示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将示例的类做出修改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这m2,m3,m4都是无参的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

16.反射爆破创建实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里会报错,getConstructor返回的是public构造器对象
在这里插入图片描述

我们下面修改一下,getDeclaredConstructor可以得到所有的构造器对象
在这里插入图片描述
这里还是会报错,一个非法的访问异常
在这里插入图片描述
下面我们做一个修改
在这里插入图片描述
在这里插入图片描述

17.反射爆破操作属性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文章来源:https://blog.csdn.net/m0_72232218/article/details/135325481
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。