RTTI(Run-Time Type Identification)运行时类型识别。在《Thinking in Java》一书第十四章中有提到,其作用是在运行时识别一个对象的类型和类的信息。主要有两种方式:一种是“传统的”RTTI,它假定我们在编译时已经知道了所有的类型;另一种是“反射”机制,它允许我们在运行时发现和使用类的信息。
反射就是把java类中的各种成分映射成一个个的Java对象
例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖,把个个组成部分映射成一个个对象。
• Field : 可以使用 get() 和 set() 方法读取和修改 Field 对象关联的字段;
• Method : 可以使用 invoke() 方法调用与 Method 对象关联的方法;
• Constructor : 可以用 Constructor 创建新的对象。
Advantages of Using Reflection:
• Extensibility Features : An application may make use of external, user-defined classes by creating instances of extensibility