In Java we use final keyword with variables to specify its values are not to be changed.
But I see that you can change the value in the constructor / methods of
Suppose you have two moneyboxes, red and white. You assign these moneyboxes only two children and they are not allowed interchange their boxes. So You have red or white moneyboxes(final) you cannot modify the box but you can put money on your box.Nobody cares (Modification-2).