全网最厉害的反射常用方法

2 篇文章 0 订阅
1 篇文章 0 订阅

反射其实就是程序在运行时 可以调用其构造方法 属性 方法,形成java动态语言。

有几种方法比较重要 经常使用 可以记一下:

Class类对应的基本信息

String getName()

以字符类型返回该类型的名称

String getSimpleName()

获取当前类型的简称(类名)

String getPackage()

返回当前类所在的包

String getSuperClass();

获取当前父类名称和包

Class[] getInteerfaces()

获取当前类实现的多个接口

int getModifiers()

返回当前类的访问修饰符号

getDeclaredClasses() []

当前内部类中的实例

getDeclaredClass()

当前外部类的实例

 

Constructor 对应的方法

getConstructor(Class...params)

获取指定单个类中的构造方法 如果是有参构造则 在此方法参数上添加 String.class,int.class 拥有访问等级

getConstructors()

获取所有为public的构造方法 拥有访问等级

getDeclaredConstructor(Class.params)

获取指定单个参数的构造函数 并不论访问等级

getDeclaredConstructors

获取所有的构造方法 并不论访问等级

Field 对应的方法

getField(String name)

获取指定单个类中属性  拥有访问等级

getFields()

获取所有为public的构造属性 拥有访问等级

getDeclaredField(String name)

获取指定单个参数的属性 并不论访问等级

getDeclaredFields()

获取所有的属性 并不论访问等级

 

Method 对应的方法

getMethod (String name,Class...params)

获取指定单个类中方法  拥有访问等级

getgetMethods()

获取所有为public的方法 拥有访问等级

getDeclaredgetMethod(String name,Class...params)

获取指定单个参数的方法 并不论访问等级

getDeclaredgetMethods()

获取所有的方法 并不论访问等级

 

Class访问类的属性 以下方法都在以上四个 类的组成部分中通过以上对象.出以下方法

xxx getXXX(Object)

获取 指定对象的实例,

get(Ojbect)

获取 指定对中的值

set(Object,String name)

设置 指定属性的值

xxx setXXX(Object)

设置指定类中元素

setAccessible

给予访问权限,但是只限制与declared方法使用

 

1. Method类中包含一个invoke()方法
2. 通过invoke()方法,Method实例可以调用java类的实例方法和静态方法


Object     invoke(Object  obj ,Object  args)
    obj是执行该方法的对象,表示的就是实例(对象)
    args是执行时候带入的参数

调用者就是方法,表示obj调用这个方法带入arge参数
若Method是静态方法,则obj可以为null
args也可以是null
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值