title: Why is Class.newInstance() "evil"?
body: <p><a href="https://stackoverflow.com/users/9931/ryan-delucchi">Ryan Delucchi</a> asked <a href="https://stackoverflow.com/questions/194698/how-to-load-a-jar-file-at-runtime#194712">here</a> in comment #3 to <a href="https://stackoverflow.com/users/4725/tom-hawtin-tackline">Tom Hawtin</a>'s answer:</p>
  
  <blockquote>
    <p>why is Class.newInstance() "evil"?</p>
  </blockquote>
  
  <p>this in response to the code sample:</p>
  
  <pre><code>// Avoid Class.newInstance, for it is evil.
  Constructor&lt;? extends Runnable&gt; ctor = runClass.getConstructor();
  Runnable doRun = ctor.newInstance();
  </code></pre>
  
  <p>so, why is it Evil?</p>