Consider the following from Effective Java Item 11 (Override clone judiciously) where Josh Bloch is explaining what is wrong with the clone() contract .
See Jorado answer. This is the explanation. In additional clone has problem in final fields see :
http://en.wikipedia.org/wiki/Clone_%28Java_method%29#clone.28.29_and_final_fields
You also should read Josh interview on clone in:
http://www.artima.com/intv/bloch13.html