Immutability in Java
<p>If my class is going to be an immutable one it has to be <code>final</code> and without any method that modifies its state and all properties must be private. But why should it have properties declared as <code>final</code> (for example, <code>private final int a</code>)?</p>

<p><strong>Edit</strong></p>

<p>Will the class still be an immutable one if it has a reference to objects that are not immutable?</p>
