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
