Cloning is the easiest way of copying a class. With this, however, you also have all properties being passed on to the cloned class, which probably is a security hassle. You can avoid the same with a simple trick as shown below:
public class AvoidCloning
{
public static void main(String args[])
{
AvoidCloning avoidCloning = new AvoidCloning();
avoidCloning.proceed();
}
private void proceed()
{
NotClonable notClonable = new NotClonable();
try{
notClonable.clone();
}catch(Exception exception)
{
System.out.println(exception.getMessage());
}
}
}
class NotClonable
{
public Object clone() throws CloneNotSupportedException
{
throw new CloneNotSupportedException("Sorry, I'm not cloneable.");
}
}
/*
Expected output:
[root@mypc]# java AvoidCloning
Sorry, I'm not cloneable.
*/
Visit the DevX Tip Bank