title: Java: Accessing private field via reflection (behaviour)
body: <p>Junior in Java; using reflection is possible to access private fields (not asking how, 
  <a href="https://stackoverflow.com/questions/1555658/is-it-possible-in-java-to-access-private-fields-via-reflection">Question 1</a> and <a href="https://stackoverflow.com/questions/1196192/how-do-i-read-a-private-field-in-java?lq=1">Question 2</a>) Ok.   </p>
  
  <p>My questions are related with the nature of this behaviour. </p>
  
  <ol>
  <li>Is there any limitation? Can I access any field of any <code>.class</code> I come across?</li>
  <li>During my code, once you set the visibility of a field to lets say <em>"public"</em>, is it changed forever or just up to the end of the context (method, if, for...)? <strong>Code below</strong></li>
  <li>Is it <em>ok</em> for everybody? I mean, Seniors programmers of StackOverflow, is it a security breach?</li>
  </ol>
  
  <p>Code [EDITED]:</p>
  
  <pre><code>  Field f = obj.getClass().getDeclaredField("field"); 
    if (...) {
       f.setAccessible(true);
       // f IS accesible
    }
    // is f accesible?
  </code></pre>