Here when the p1.clone() call is made, it checks whether the Objects' class is implementing Cloneable interface, then comes the actual call definition where the return super.clone() is made.
Can some brief out why it is made as super.clone() and how will it make the cloning of the object.
Invoking super.clone will eventually invoke Object’s clone method,
Object's clone method first verifies if class of this object implements cloneable, then creates new instance of the class and initializes all the fields with same values as in original object.
Yes, my master! Here is the tiny ad you asked for: