What are the Uses of Reflection in Java ?
Reflection is often used in Testing, Debugging and in Integrated Development Environment (IDE).
Reflection allows you to write programs that do not have to "know" everything at compile time. It makes programs more dynamic, since they can be tied together at runtime.
Many modern frameworks like Spring etc. use Reflection. Some modern languages like Python etc. also use Reflection.
JAVA API for XMLParsing (JAXP) also uses Reflection.