java反射

java反射
什么是发射呢?
反射是指对于任何一个Class类,在“运行的时候”都可以直接得到这个类的全部成分。
1.在运行时。可以直接得到这个类的构造器对象:Constructor
2.在运行时。可以直接得到这个类的成员变量对象:Field
3.在运行时。可以直接得到这个类的方法对象:Method
反射的关键
第一步
先得到编译后的Class类对象,然后就可以得到Class的全部成分。
三种方法
1.类名.Class
2.对象.getClass()
3.forName( 包名+类名)

在这里插入图片描述
反射获取构造器对象
Class类中用于获取构造器的方法
getConstructor() (只拿public的)
getDeclaredConstructor()
获取全部构造器
getConstructors() (只拿public的)
getDeclaredConstructors()
在这里插入图片描述
使用反射技术 获取构造器对象并使用
Constructor类中用于创建对象的方法
newinstance() 根据指定的构造器创建对象
setAccessible() 设置为true,表示取消访问检查,进行暴力反射

在这里插入图片描述
反射获取成员变量
1.首先第一步都是先获得类对象,然后从类对象中获取类的成分对象。
2.Class类中获取成员变量的方法
getField( String name) (只包含public)
getDeclaredField(String name)
获取所有成员方法
getFields( ) (只包含public)
getDeclaredFields()
在这里插入图片描述
Field类中用于取值,赋值的方法
set(Object obj ,Object value) 赋值
get(Object obj) 取值

在这里插入图片描述
反射获取方法对象
1.反射的第一步是先得到类对象,然后从类对象中获取类的成分对象
2.Class类中用于获取成员方法的方法
getMethod(String name) (只拿public的)
getDeclaredMethod (String name)
所有的方法
getMethods() (只拿public的)
getDeclaredMethod s()
在这里插入图片描述
Method类中用于触发执行的方法
invoke(三个参数) 参数一 :用obj对象调用该方法
参数二 :调用方法的传递的参数
返回值:方法的返回值没有就不写
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值