What is the use of implementing a cloneable interface as it is a marker interface?
I can always make a public Object clone() method in my class. What is the actual purpose of cloneable interface?
That's because the clone()
method throws CloneNotSupportedException
if your object is not Cloneable
.
You should take a look at the documentation for clone()
method.
Following is how clone()
method is declared in the class Object
:
protected Object clone() throws CloneNotSupportedException
Note:
Also, it's been realized that Clone
is broken. This answer here in SO explains why and how you can avoid using it.
Making Cloneable
a marker interface was a mistake.
That said, the one thing it does is "enable" the default implementation of clone()
in Object
. If you don't implement Cloneable
then invoking super.clone()
will throw a CloneNotSupportedException
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With