title: why fields should be final in immutable class?
body: <p><a href="http://docs.oracle.com/javase/tutorial/essential/concurrency/imstrat.html" rel="noreferrer">Strategy</a> for defining immutable class says that</p>
  
  <p>all the fields should be final.</p>
  
  <p>For ex:</p>
  
  <pre><code>private String name;
  </code></pre>
  
  <p>Why does it have to be final?</p>
  
  <p>Since I am not giving setter methods for it? It can't be changed.
  Thanks.</p>