Java的反射机制

反射机制的定义:

Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

功能:

1.在运行时判断任意一个对象所属的类。

2.在运行时构造任意一个类的对象。

3.在运行时判断任意一个类所具有的成员变量和方法。

4.在运行时调用任意一个对象的方法。

5.生成动态代理。

与反射机制相关的类:

1.Class——Class类抽象出了java中类的特征并提供了一些方法。

2.Constructor——Constructor抽象出了java中所有的构造函数的特征以及提供一些方法。

3.Method——Java中所有的方法都是Method类型。

4.Field——类的字段为Field类型

关于获取Class对象:

1.Class.forName("全类名")——将字节码文件加载进内存,返回Class对象;

                                                  多用于配置文件,将类名定义在配置文件中;读取文件,加载类。

2.类名.class——通过类名的属性class获取;多用于参数的传递。

3.对象.getClass()——getclass()方法在Object类中定义;多用于对象的获取字节码的方式。

1. 获取成员变量

  • Field[ ] getFields() 获取所有public修饰的成员变量

  • Field getField(String name) 获取指定名称public的成员变量

  • Field[ ] getDeclaredFields()获取所有成员变量,不考虑修饰符

  • Field getDeclaredField(String name)获取所有指定名称的成员变量,不考虑修饰符

2. 获取构造方法

  • Constructor<?>[ ] getConstructors() 获取所有public修饰的构造方法

  • Constructor< T> getConstructor(类<?>... parameterTypes) 获取指定名称public的构造方法

  • Constructor<?>[ ] getDeclaredConstructors() 获取所有构造方法,不考虑修饰符

  • Constructo< T>r getDeclaredConstructor(类<?>... parameterTypes) 获取所有指定名称的构造方法,不考虑修饰符

3. 获取成员方法

  • Method[ ] getMethods() 获取所有public修饰的成员方法

  • Method getMethod(String name, 类<?>... parameterTypes) 获取指定名称public的成员方法

  • Method[ ] getMethods() 获取所有成员方法,不考虑修饰符

  • Method getDeclaredMethod(String name, 类<?>... parameterTypes) 获取所有指定名称的成员方法,不考虑修饰符

4. 获取类名

  • String getName()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值