反射常用方法

基础使用

方法说明
getCanonicalName获取全限定类型名(包括包名)
isInterface是否是接口
getInterfaces类实现的所有接口
getSupercalss返回class基础的直接基类,获得一个完整的继承结构
newInstance构造器创建
getDeclaredFields获得自己所有字段
getParameterTypes获取参数类型
//无参构造器 创建对象
User u  = (User) User.class.newInstance();
//公共 构造器
User u = (User) User.class.getconstructor(Integer.class).newInstance(200);
//私有构造器
Constructor c = User.class.getDeclaredConstructor(Integer.class,String.class);
c.setAccessible(true); //设置可以访问
User u = c.newInstance(200,"私有创建");

Field

方法名 Field说明
getDeclaredField获取指定name名称(包括私有) 本类
getDeclaredFields
getField获取公共 属性, 父类
getType返回CLass对象 标识Field字段声明类型
isEnumConstant枚举 返回 true
toGenericString返回描述此 Field (一般类型)的字符串
getName返回字段名称
getDeclaringClass类或接口的Class对象

Method

方法Method说明
getDeclaredMethod获取指定方法对象
invoke调用方法
getReturnType返回Class对象 描述了 此方法返回类型
getGenericReturnType返回此方法返回类型 type 对象
getParameterType按顺序返回 形惨类型
getGenericParameterTypes按顺序返回形参类型
getName方法名
isVarArgs是否带可变参数
toGenericString返回此方法描述
User u = new User();
Method me = User.class.getDeclaredMethode("setName");
me.invoke(u);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值