title: Java: What scenarios call for the use of reflection?
body: <p>So from reading some of the articles, the message i got out of it was being able to modify fields and set values to classes in real time without recompiling.</p>
  
  <p>so is it possible to do this to 3rd party java library created classes which no source code is available / is it possible to use reflection to modify class instances on run time?</p>
  
  <p>in what other scenarios is reflection commonly used?</p>
  
  <p>I am trying to understand how reflection can be applicable.</p>