Class类与反射机制

反射机制(也叫”内省”): 在编译时不需要知道以后调用自己的那个类的信息(或者说不关心谁调用自己)

因为在运行时,会自动获取到调用自己那个类的信息,这就叫反射机制 (说白了 , 所谓的反射机制,就是 ” 谁调用自己,谁就得把它的信息给我 ”)

反射机制主要用于java ee的各种框架 在各个框架中 都利用了反射机制 所以我们在调用它们的时候 就不必关心它们的细节 因为它们会自动得到我们用来调用它们的那个类的信息

这种”得到掉用自己类的信息”方法 , 主要是利用了Class这个类:

Class类只关心运行时的.class的信息, 它没有构造方法, 通过JVM自动加载.

基本类型数据和引用类型数据都有Class对象..

所谓的Class对象,就是通过 .class 文件获得了一个该类的描述
获取Class对象,也就等于得到了 .class 所对应的这个类的信息

利用Class类,来获取描述的方式有4种

1, xxx.getClass() 获取xxx类型的描述

2,Class.forName (String str) 此时str必须是带有包结构的全路径

3, int.class 获取int这个基本类型的描述

4, Integer.TYPE 获取Integer这个包装类型的描述 返回int
如果是Integer.class 返回Integer

具体使用方式:
1,
A a = new A();
Class c = a.getClass();
c.getName …..

2,
Class c = Class.forName(x.xx.xxx.A);
C.getName…. // 如果只是forName 前面没有c接收 意思就是加载类
// 类只会被加载一次 如果前面已经forName过 之后再有new也不会被加载了


3,
Class c = A.class; // 这种方法主要用在只知道类名,不能看到类的细节的时候


在程序运行时,JVM会自动检查是否已经获得了关于类的描述
如果true 不操作
如果false 会自动查找前面介绍的方法去获得相关描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值