1. Calling clone() method, actually creates a new object and copies all the contents of old object into it. Creating an object using clone method doesn't invoke any constructor.
2. To use clone() method on an object, we need to implement Cloneable interface and define clone() method in it.

Employee emp5 = (Employee) emp4.clone();

Using deserialization:

1. when ever we serialize or deserialize an object, the JVM creates a separate object for us. JVM doesn't use any constructor to create the object.
2. To deserialize an object we need to implement a Serializable interface in our class.