The clone method is used in cases where you have an object that you need to create a copy of. clone method will return the new object with the same source state. Where as creating an object using "new" will give completely new object. Constructor is not called while cloning takes place.
Joined: Feb 28, 2007
Make your classes uncloneable. Java's object-cloning mechanism allows an attacker to instantiate a class without running any of its constructors. To make your class uncloneable, just define the following method in each of your classes:
If you really need to make your class cloneable, then there are some protective measures you can take to prevent attackers from redefining your clone method. If you're defining your own clone method, just make it final. If you're not, you can at least prevent the clone method from being maliciously overridden by adding the following: