In my Java book it says:
"In contrast to immutable objects, if a class contains mutable objects (objects that can be changed), the clone method of the Object class may not work properly. In that case, you'll beed to override this method when you implement the Cloneable interface to be sure it works."
What does "objects that can be changed" mean? How do objects change, can you give me a simple example? Also, when you override the clone method of the Cloneable interface, how do you cast a mutable object inside the clone method so that it can be cloned?