Clone method example in Java programming language
Given example of java clone() method illustrates, how to use clone() method. The Cloneable interface defines a method called Clone(), which can be used to clone an object in your java program.
If you are trying to use the clone method in a class where Cloneable interface
is not implemented, it throws CloneNotSupportedException. Clone()
method is used to create and return copy of the object.
Clone method example code
|
import java.util.*; public class CloneTest{ public static void main(String[] args){ Employee emp = new Employee("Amardeep", 50000); emp.setHireDay(2005,0,0); Employee emp1 = (Employee)emp.clone(); emp1.raiseSalary(20); emp1.setHireDay(2008, 12, 31); System.out.println("Employee=" + emp); System.out.println("copy=" + emp1); } } class Employee implements Cloneable{ public Employee(String str, double dou){ name = str; salary = dou; } public Object clone(){ try{ Employee cloned = (Employee)super.clone(); cloned.hireDay = (Date)hireDay.clone(); return cloned; } catch(CloneNotSupportedException e){ System.out.println(e); return null; } } public void setHireDay(int year, int month, int day){ hireDay = new GregorianCalendar(year,month - 1, day).getTime(); } public void raiseSalary(double byPercent){ double raise = salary * byPercent/100; salary += raise; } public String toString(){ return "[name=" + name+ ",salary=" + salary+ ",hireDay=" + hireDay+ "]"; } private String name; private double salary; private Date hireDay; } |
Output of Clone method example:
| C:\help>javac CloneTest.java C:\help>java CloneTest Employee=[name=Amardeep,salary=50000.0,hireDay=Tue Nov 30 00:00:00 GMT+05:30 2004] copy=[name=Amardeep,salary=60000.0,hireDay=Wed Dec 31 00:00:00 GMT+05:30 2008] |
Download code example discussed in this section.
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.
Ask Questions? Discuss: Clone method example in Java View All Comments
Post your Comment