Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Cloning in java

  • Difficulty Level : Medium
  • Last Updated : 16 May, 2017

Object cloning means to create an exact copy of the original object.

If a class needs to support cloning, it must implement java.lang.Cloneable interface and override clone() method from Object class. Syntax of the clone() method is :

protected Object clone() throws CloneNotSupportedException

If the object’s class doesn’t implement Cloneable interface then it throws an exception ‘CloneNotSupportedException’ .

 

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




// Java code for cloning an object
  
class Test implements Cloneable
{
    int a;
    int b;
  
    // Parameterized constructor
    Test(int a, int b)
    {
        this.a = a;
        this.b = b;
    }
  
    // Method that calls clone()
    Test cloning()
    {
        try
        {
            return (Test) super.clone();
        }
        catch(CloneNotSupportedException e)
        {
            System.out.println("CloneNotSupportedException is caught");
            return this;
        }
    }
}
  
class demo
{
    public static void main(String args[])
    {
        Test obj1 = new Test(1, 2);
        Test obj2 = obj1.cloning();
        obj1.a = 3;
        obj1.b = 4;
        System.out.println("Object2 is a clone of object1");
        System.out.println("obj1.a = " + obj1.a + " obj1.b = " + obj1.b);
        System.out.println("obj2.a = " + obj2.a + " obj2.b = " + obj2.b);
    }
}

Output :

Object2 is a clone of object1
obj1.a = 3 obj1.b = 4
obj2.a = 1 obj2.b = 2

 
This article is published by Mehak Narang.

 
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!