1. Final keyword
Once a variable X is defined final, you can‘t change the reference of X to another object, after the initialization. But you can change the content of X if it‘s mutable.
2. Immutable object
Once an immutable object has been created, you can‘t change the content of it, but you can change the reference of it.
3. Make variables unmodifiable
Use final and immutable together to make a variable not possible to modify neither the contents nor the reference
原文:http://www.cnblogs.com/codingforum/p/5827735.html