Reflection is the process of examining or modifying the runtime behavior of a class at runtime. The java.lang.Class class provides various methods that can be used to get metadata, examine and change the runtime behavior of a class. The java.lang and java.lang.reflect packages provide classes for java reflection. It is used in:
- IDE (Integrated Development Environment), e.g., Eclipse, MyEclipse, NetBeans.
- Debugger
- Test Tools, etc.