This method helps you write clone methods subclasses. Cloning returns a copy of the object being cloned. Calling clone does not involve calling the constructors . Initialization blocks are not invoked either. Cloning is not the same as new.
Cloning just copies the fields of an object.
It is a little strange that the clone interface is in the base class. Since it is, all objects should support it. A class might decide to not support cloning. It does this by throwing the CloneNotSupportedException. If a class decides to support cloning, then it must support the Cloneable interface.