Cloning in java

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’ .
// 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
				
					


