Reflection
Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fields, methods, and constructors to operate on their underlying counterparts on objects, within security restrictions. The API accommodates applications that need access to either the public members of a target object (based on its runtime class) or the members declared by a given class.Performance EnhancementThe Java2 Platform allows programs to suppress default reflective access control.
Beginning with J2SDK 1.4.0, certain reflective operations, specifically java.lang.reflect.Field, java.lang.reflect.Method.invoke(), java.lang.reflect.Constructor.newInstance(), and Class.newInstance(), have been rewritten for higher performance. Reflective invocations and instantiations are several times faster than in previous releases.Dynamic Proxy Classes
- Dyanmic Proxy Classes are supported by three classes and interfaces in the Java 2 Platform.
Reflection Overview
- Reflection Overview 1.1 (Not Updated for the Java 2 Platform)
Suppressing Reflective Access Control
Reflection API Specification
(javadoc)