title: Benefits of Avoiding 'new' Keword When Creating Object in Java
body: <p>I have found some blog where there is a suggestion of avoiding <strong><code>new</code></strong> keyword while 
  creating object of a class. Some examples of creating object without the <strong><code>new</code></strong> keyword are-</p>
  
  <pre><code>SampleObject obj = Class.forName("com.example.SampleObject").newInstance();
  </code></pre>
  
  <p>Or using <code>clone()</code> method - </p>
  
  <pre><code>SampleObject obj1 = new SampleObject();  
  SampleObject obj2 = obj.clone();
  </code></pre>
  
  <p>Then <a href="https://stackoverflow.com/questions/95419/what-are-all-the-different-ways-to-create-an-object-in-java">here</a> I have found some good examples of creating object without <strong><code>new</code></strong> keyword</p>
  
  <p>I can understand the advantages of 'Factory' pattern while avoiding <strong><code>new</code></strong> keyword from main portion of code. If I am not using any design pattern (for creating objects) is there any benefit of creating object without the <strong><code>new</code></strong> keyword? Or what are the reasons for creating of object without <strong><code>new</code></strong>?</p>