Object Cloning in Java
The object cloning is a way to create exact copy of an
object. For this purpose, clone() method of Object class is used to clone an
object.
The java.lang.Cloneable interface must be implemented by the class whose
object clone we want to create. If we don't implement Cloneable interface,
clone() method generates CloneNotSupportedException.
The clone() method is defined in the Object class. Syntax
of the clone() method is as follows:
1. protected Object clone() throws CloneNotSupportedException
Why use clone() method ?
The 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 to be performed that is why we use
object cloning.
Advantage of Object cloning
Less processing task.
Example of
clone() method (Object cloning)
Let's see the simple example of
object cloning
1. class Student18 implements Cloneable{
2. int rollno;
3. String name;
4.
5. Student18(int rollno,String name){
6. this.rollno=rollno;
7. this.name=name;
8. }
9.
10. public Object clone()throws CloneNotSupportedException{
11. return super.clone();
12. }
13.
14. public static void main(String args[]){
15. try{
16. Student18 s1=new Student18(101,"amit");
17.
18. Student18 s2=(Student18)s1.clone();
19.
20. System.out.println(s1.rollno+" "+s1.name);
21. System.out.println(s2.rollno+" "+s2.name);
22.
23. }catch(CloneNotSupportedException c){}
24.
25. }
26. }
Output:101 amit
101 amit
As you can see in the above
example, both reference variables have the same value. Thus, the clone() copies
the values of an object to another. So we don't need to write explicit code to
copy the value of an object to another.
If we create another object by
new keyword and assign the values of another object to this one, it will
require a lot of processing on this object. So to save the extra processing
task we use clone() method.
No comments:
Post a Comment