
IDEs, especially those which are capable of visual development, such as Eclipse or Netbeans, and class browsers can make extensive use of Reflection. Using the concepts of reflection, a programmer can make use of externally available user-defined classes by creating instances of those extensible objects by using their fully qualified name Developing IDEs and Class Browsers Other than these, the class is one of the most important classes in use for Reflection as the objects of Class can store the actual information of the class that we want to investigate or reflect.

This class allows the programmer to dynamically create and manipulate Arrays This class provides information regarding the constructors of the class being reflected and inspected.

This class provides information about the methods of the class being reflected and inspected. This class supports the dynamic proxy classes Method This class provides information about the class and other members’ access modifiers of the class being reflected. This class provides information about the fields present in the class whose reflection is being looked at. Let us have a look at some of the classes within the package Field It contains several interfaces and classes which define methods that are used for reflection of other classes. The core collection of classes and information related to Reflection in Java is encapsulated as the package. Reflection is heavily used in Java frameworks such as Spring, Hibernate, Junit etc. Using the concept of Reflection, a programmer can now manipulate all attributes of a class – including its methods, constructors, and fields even at runtime, and even invoke methods of that class and get a complete snapshot of it. In Java, the process of analyzing, viewing and modifying all the internal attributes, behaviors and capabilities of a class at runtime is called Reflection.

