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 AvoidCloningSorry, I'm not cloneable.*/