前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从0到1学习反射,为什么会出现反射技术,我们在项目中如何使用

从0到1学习反射,为什么会出现反射技术,我们在项目中如何使用

作者头像
一写代码就开心
发布2022-05-28 09:35:20
3740
发布2022-05-28 09:35:20
举报
文章被收录于专栏:java和python

目录

反射小知识

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

所以利用反射创建多个对象,其实这些对象是同一个

反射需要学的类:

代码语言:javascript
复制
            --  java.lang   包里面的Class 类
            --java.lang.reflect包中

o Constructor 类:代表类的构造方法 o Field 类:代表类的成员变量(属性) o Method类:代表类的成员方法

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

出现这个技术的背景

有一个已经做好的应用程序,如果有人想要增加功能,那么就需要这个应用程序提供一个接口。自己写好一个实现这个接口的类,然后在这个程序里面创建这个类的对象就可以了。 但是现在的问题是,这个应用程序已经做好,即使有实现这个接口的类,但是在这个程序里面不可以创建对象,所以自己创建的类在这个应用程序里面是不能够使用 的。

为了解决这个问题,如何做呢? 在对外提供接口的同时,还对外提供了一个配置文件,应用程序是一直在读这个配置文件, 现在我们需要做的就是,自己写一个实现这个接口的类,并且将这个类的名称告诉这个配置文件就可以了。

原理:

这个应用程序里面就有一个专门提取配置文件的流,读完就会得到这个类名,并且寻找对应的class文件,就是字节码文件,找到了这个应用程序就会加载这个文件,并且获取这个文件里面的所有的内容,获取到之后就可以调用里面的所有东西

所以也就是我们在写应用程序的时候,已经将反射技术写好了,

==============================================

所以,以后开发的时候,直接使用配置文件,学习框架的时候,也是利用了反射的技术,也是需要配置文件。

tomcat 软件就使用了反射技术

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

字节码文件

对于字节码文件,也会进行向上抽取,会抽取出一个Class类,这个类里面就可以得到所有的字节码文件的内容,对于反射,就是依靠这个Class类完成 的

如何获取字节码文件(如何创建class对象)

因为只要得到字节码文件,就可以进行反射技术,所以获取字节码文件就显得重要。

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

也就是所有的类都继承了object,所以所有的类都有这个方法

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

第三个方式,这个是必须掌握的 在java.lang 包中有一个类Class 里面有一个静态方法forName() ,就可以根据这个方法得到字节码文件

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

记住“forname里面写的是字符串,所以需要写类的全路径,即使将这个类导进来了,但是还是要写路径,因为这个参数是字符串,和导包没有关系。

class 类

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

class 类常用的方法

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 反射小知识
  • 反射需要学的类:
  • 出现这个技术的背景
    • 原理:
    • tomcat 软件就使用了反射技术
    • 字节码文件
      • 如何获取字节码文件(如何创建class对象)
      • class 类
        • class 类常用的方法
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档