Every Java programmer knows that Marker Interface does
not have any methods in it. Some of you confused if there are no any method
declarations, and then what is the use of Marker Interface or Tagged Interface.
But very few people know why we use Marker Interface and its use in our
programs.
Whenever any class implementing some Marker Interface,
just we are telling to JVM to do that particular functionality of interface.
So JVM checks that class or it's super class is implementing the
Serializable interface or not. That means serialization process is taken care by
JVM itself. So you no need to write any code for serialization. Then what is the
use of method declarations in Serializable interface when JVM is going to do
everything for us.
So, by implementing Serializable interface we are telling
to JVM that the object of the class can be seriliazable and do the rest of
thing.
Example 1: For instance take
Serializable interface. We know that to make an object serializable that class or its
super class MUST implenet Serializable Marker Inetrafce. If we are
serializing the object,..it means we are telling to JVM to serialize the object.
So JVM checks that class or it's super class is implementing the Serializable
interface. That means serialization activity is taken care by JVM itself. So you
no need to write any code for serialization. Then what is the use of method
declarations in Serializable interface when JVM is going to do everything for
us.
Example 2: Cloneable Interafce. This
interface is implemented by the JVM itself and allows copies of objects to be
created. This means developer does not need to write any code to clone the
object.
Hence Marker Interfaces are used to enable the capability
of a class as implementing a specific interface at run-time.
Hope my understanding is correct and if anyone of you know more
about it please write about on Marker Interface in comments section. Thanks in
advance.
Comments
Post a Comment