记录JAVA中的反射机制的一些要点

一、什么是JAVA的反射机制

Java反射是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(如public, static 等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fields和methods的所有信息,并可于运行时改变fields内容或唤起methods。

Java反射机制容许程序在运行时加载、探知、使用编译期间完全未知的classes。

换言之,Java可以加载一个运行时才得知名称的class,获得其完整结构。


二、JAVA反射机制的功能:

  1. 在运行时判断任意一个对象所属的类
  2. 在运行时构造任意一个类的对象
  3. 在运行时判段任意一个类所具有的成员变量和方法
  4. 在运行时调用任一个对象的方法
  5. 在运行时创建新类对象
  6. 在使用Java的反射功能时,基本首先都要获取类的Class对象,再通过Class对象获取其他的对象。

三、反射机制中获取Class对象的三种获取方式(以获取Employee为例):

//第一种方式:
//使用对象的getClass 方法
Employee e = new Employee();
Class clazz = e.getClass(); //c3是运行时类 (e的运行时类是Employee)

//第二种方式:使用给定类的字符串名称来关联class对象
Class clazz= Class.forName("Employee");
//第三种方式:
//java中任何类型都有一个静态的属性----.class    .
Class clazz = Employee.class;


四、再来看看反射相关的一些接口和类:



-----待续




你可能感兴趣的:(Java)