class , field , method

Class类

由于Class类没有公共构造方法,所以创建Class的对象的方法有以下几种:

1.通过Class.forName静态方法返回Class类的一个实例

2.通过类名.class来获取一个Class类的实例

3.代码运行在非静态区,通过this.getClass()获取Class类的一个实例

 

Class对象既然是描述一个类,那么我们通过该Class的实例能够做什么事情?

1.获取类名

2.获取类的修饰限定符

3.获得一个类的属性

1).根据一个属性名获取一个属性的描述

2).获得一个类的公共的属性的描述

3).获取一个类的全部public属性的描述

4)根据一个属性名获取一个在类中声明的属性的描述

5)获取所有在类中声明的属性的描述

4.获取一个类的方法 

根据一个方法的名字获取类中的一个public的方法的描述 

获取所有在类中式public的方法的描述

根据一个方法名获取在类中声明的一个方法的描述

获取所有在类中声明的方法的描述

返回cls所代表的类的实例

cls.getMethod(name,parameterTypes)

cls.getMethods()

cls.getDeclaredMethod(name,paeameterTypes)

cls.getDeclaredMethods

 

Field类

获取其属性

使用Filed类的一个实例,来描述cls类的实例中一个属性

获取属性的名字

获取属性的类型

获取属性的限定符

暴力设置:设置field的访问:field。setAccessible(true)

 

Method类

通过cls.get DeclaredMethod获取Method对象

获取方法名

方法的参数类型 Clss[] paraType = m.getParameterTypes();

方法的返回值类型

获取方法的修饰符 int modifiers = m.getModifiers();

方法是可以执行的,使用invoke执行methid对象所表示的方法m.invoke(obj,args);

使用反射相关类,为对象p设置name属性的值 

设置器的形参和属性的类型应当一致

相当于P方法调用setName方法

转载于:https://www.cnblogs.com/moyulove/p/10758547.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值