Object Cloning in Java | Object.clone() MethodLast Updated : 7 Jan 2026 Cloning means to create a replica of something. In programming, object cloning refers to create a copy of an object. Java Object class provides the Object.clone() method to create a copy of an object (already existing). This feature is extremely handy when we must make copies of complex objects whose copying of properties would be time-consuming and prone to errors when doing it manually. ![]() Object.clone() MethodThe Object.clone() method is defined in the Object class. It means every Java class inherits it by default. Its primary purpose is to return a field-by-field copy of the object on which it is invoked. However, the method is protected in the Object class it means that it cannot be directly accessed by classes unless overridden with a public scope. Syntax:Creating Clone of an ObjectThe java.lang.Cloneable interface must be implemented by the class whose object clone we want to create. If we do not implement Cloneable interface, Object.clone() method generates CloneNotSupportedException. Example: Cloning an ObjectCompile and RunOutput: Original Student Object: 101 - Jack Cloned Student Object: 101 - Jack After modifying cloned object: Original Student Object: 101 - Jack Cloned Student Object: 101 - Smith Explanation In the above program, both reference variables have the same value. Thus, the Object.clone() method copies the values of an object to another object. So, we do not need to write explicit code to copy the value of an object to another. If we create another object by using the new keyword and assign the values of another object to this one, it will require a lot of processing on this object. Therefore, to save the extra processing task we use Object.clone() method. Why use Object.clone() method?The Object.clone() method saves the extra processing task for creating the exact copy of an object. If we perform it by using the new keyword, it will take a lot of processing time to be performed that is why we use object cloning. Advantage of Object CloningAlthough Object.clone() has some design issues but it is still a popular and easy way of copying objects.
Disadvantage of Object Cloning
ConclusionJava Object.clone() is a highly powerful technique somewhat deceitful and is capable of copying objects. With the implementation of the Cloneable interface and re-writing the clone method, developers can engage in shallow or deep copying of objects according to their needs. Deep copying is slow and complex and shallow copying is very quick and easy. As much as cloning is convenient, the pros and cons of cloning need to be considered against the options such as copy constructors. With the current development, cloning may be either the right or wrong choice, depending on the complexity of the class, and the performance standards of the application. Next TopicJava Math |
We request you to subscribe our newsletter for upcoming updates.