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.
Article Tags :
Recommended Articles