反射机制

以下内容整理自互联网,仅用于个人学习


什么是反射机制

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

反射机制所操作的对象

  • Class:类对象
  • Constructor:类的构造器对象
  • Field:类的属性对象
  • Method:类的方法对象

反射机制的作用

  • 在运行时判断任意一个对象所属的类
  • 在运行时构造任意一个类的新对象实例(.newInstance())
  • 在运行时获取任意一个类所具有的成员变量和方法
  • 在运行时调用任意一个对象的方法

开发中的用处:

  • 观察或操作应用程序的运行时行为。
  • 调试或测试程序,因为可以直接访问方法、构造函数和成员字段。
  • 通过名字调用不知道的方法并使用该信息来创建对象和调用方法。

反射机制的优缺点

  • 优点:就是可以实现动态创建对象和编译,体现出很大的灵活性,特别是在J2EE的开发中它的灵活性就表现的十分明显。
  • 缺点:对性能有影响。使用反射基本上是一种解释操作,我们可以告诉JVM,我们希望做什么并且它满足我们的要求。这类操作总是慢于只直接执行相同的操作。并且它饶过了源码,会干扰原来的内部逻辑。

反射机制获取class的方法

  • class.forName(类的路径)
  • 类名.class
  • 实例.getClass()

你可能感兴趣的:(反射机制)