反射

反射:程序运行时动态加载类的详细信息 反射使用的是.class加载到方法区中的过程

分析类信息的能力 jdk 编译 加载器 加载进jvm(所有的成员变量存储在field数组中)(方法在method中)(构造器在constructor)等等

.java .class 在磁盘(磁盘阶段)

Class.forName("全类名") 加载器(类对象阶段) 类名.class 都在这里获取信息

jvm在内存(运行时阶段) 对象名.getClass

class.getDeclaredMethod(name,int a,String b);(private类型)

获取 执行 暴力反射

 

Class.forName(类名);类名.class;对象.getClass();

1.getClassO;

2.调用静态方法 forName 获得类名对应的 Class 对象。获取路径

3.class 将代表匹配的类对象。

反射可以获得类的一切信息——属性、构造方法、普通方法、方法的入参类型返回类型入参名字、是否静态、public/private、注解信息(给类方法属性加标记)

setAccessible——获取类的私有成员 设置为true

void setAccessible(boolean flag)

boolean isAccessible()

static void setAccessible(AccessibleObject[] arry.boolean flag)

invoke——代理 负责执行,弥补反射只能获取不能执行的缺陷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值