How to use use of cloneable ?
Java Interview Questions for Cloning and Cloneable
(Continued from previous question...)
How to use use of cloneable ?
The cloneable interface defines no members. It is used to indicate that a class allows a bitwise copy of an object to be made. If you try to call clone() on a class that does not implement Cloneable, a CloneNotSupportedException is thrown. When a clone is made the constructor for the object being cloned is not called.
A clone is a copy of the original.
class Customer implements Cloneable
{
String name;
int income;
public Customer(String name, int income)
{
this.name = name;
this.income = income;
}
public Customer()
{
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public void setIncome(int income)
{
this.income = income;
}
public int getIncome()
{
return this.income;
}
public Object clone() throws CloneNotSupportedException
{
try
{
return super.clone();
}
catch (CloneNotSupportedException cnse)
{
System.out.println("CloneNotSupportedException thrown " + cnse);
throw new CloneNotSupportedException();
}
}
}
public class MainClass
{
public static void main(String[] args)
{
try
{
Customer c= new Customer("Angel", 9000);
System.out.println(c);
System.out.println("The Customer name is " + c.getName());
System.out.println("The Customer pay is " + c.getIncome());
Customer cClone = (Customer) c.clone();
System.out.println(cClone);
System.out.println("The clone's name is " + cClone.getName());
System.out.println("The clones's pay is " + cClone.getIncome());
}
catch (CloneNotSupportedException cnse)
{
System.out.println("Clone not supported");
}
}
}
(Continued on next question...)
Other Interview Questions
|