Clone method example in Java

Given example of java clone() method illustrates, how to use clone() method.

Clone method example in Java

Given example of java clone() method illustrates, how to use clone() method.

Clone method example in Java

Clone method example in Java

     

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(20081231);
  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.