Java反射技术初学习

Java的反射机制是在运行状态下,对任何一个类(.class文件),都能知道这个类的所有属性方法
对于任意的对象都能调用它的属性和方法,这种动态获取的信息以及动态调用对象方法的功能称为Java语言的反射机制。
玩反射就是为了拿到字节码文件中的内容
反射之中包含了一个“反”的概念,所以要想解释反射就必须先从“正”开始解释,一般而言,当用户使用一个类的时候,应该先知道这个类,而后通过这个类产生实例化对象,但是“反”指的是通过对象找到类。
应用程序对外提供了一个接口外,还对外提供了一个配置文件,获取日后产生的功能性的类文件、类对象,应用程序在运行时就是在读这个配置文件,如果想要对指定名称的字节码文件(配置文件xml)进行加载并获取其中的内容并调用,怎么实现? 用反射技术。

注:开发玩接口加配置文件

1.用已有的应用程序去读取配置文件(xml)中已经配置好的指定名称;
2.根据名称找到.class文件(最重要的反射要有class文件);
3.把class文件加载进程序;

大写的Class就是用来获取字节码文件的内容
如何反射?
只要用到大写的Class就能对任何类进行解刨。
这里写图片描述

这里写图片描述
想要对一个类文件进行解刨,只要获取该类的字节码文件即可

该如何拿到类的字节码文件对象呢?
1. Object类中的getclass()方法
(因为任何对象的创建都要依赖于字节码,所以他们都能完成自己所属的字节码文件对象的获取)
想要用这种方式,必须要明确具体的类,并创建对象。麻烦
2.任何数据类型都具备一个静态属性.class来获取其对应的Class对象
相对简单,但还是要用到类中的静态成员
这里写图片描述

3.通过给定的类的 字符串名称就可以获得该类,更为扩展。
可以用Class类中的方法来完成;
该方法就是forName;
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值