Kloniranje objekta u Javi

Kloniranje objekta u Javi

Kloniranje objekta je način za kreiranje egzaktne kopije objekta. Za ovu svrhu koristi se metod klase Object clone(). java.lang.Cloneable interfejs mora biti implementiran od klase čiji klon objekta želimo da kreiramo. Ako ne implementiramo Cloneable interfejs, clone() metod generiše CloneNotSupportedException. clone() metod je definisan u klasi Object. Sintaksa clone() metoda je sledeća:
1
protected Object clone() throws CloneNotSupportedException
Zašto koristiti clone() metod ? clone() metod oslobađa od dodatnog procesnog zadatka za kreiranje egzaktne kopije objekta. Ako to izvodimo koristeći ključnu reč new, to će zahtevati dosta procesiranja i zato koristimo kloniranje objekta. Prednosti kloniranja objekta Manje procesnih zadataka. Primer clone() metoda (Kloniranje objekta) Pogledajmo jednostavan primjer kloniranja objekta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Student18 implements Cloneable{ 
int rollno; 
String name; 
  
Student18(int rollno,String name){ 
this.rollno=rollno; 
this.name=name; 
  
public Object clone()throws CloneNotSupportedException{ 
return super.clone(); 
  
public static void main(String args[]){ 
try
Student18 s1=new Student18(101,"Petar"); 
  
Student18 s2=(Student18)s1.clone(); 
  
System.out.println(s1.rollno+" "+s1.name); 
System.out.println(s2.rollno+" "+s2.name); 
  
}catch(CloneNotSupportedException c){} 
 
}
Ispis na ekranu:
101 Petar
101 Petar
Kao što se može videti u ovom primeru, obe referentne varijable imaju istu vrednost. Stoga, clone() kopira vrednosti jednog objekta u drugi. Tako nije potrebno pisati eksplicitni kod da kopiramo vrednosti jednog objekta u drugi. Ako kreiramo drugi objekat pomoću ključne riječi new i dodelimo vrednosti drugog objekta tom objektu, to će zahtevati mnogo procesiranja na tom objektu. Tako da se oslobodimo dodatnog procesiranja koristimo clone() metod.

Comments

comments

Close Menu
Show Buttons
Hide Buttons