aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes What is Marker interfaces? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "What is Marker interfaces?" Watch "What is Marker interfaces?" New topic
Author

What is Marker interfaces?

Abhijit Das
Ranch Hand

Joined: Sep 25, 2007
Posts: 156
I have got the question about the Marker interface. What is it?


Abhijit Das
SCJP 5.0 | SCWCD 1.5
Pranav Bhatt
Ranch Hand

Joined: Mar 20, 2006
Posts: 284
The interfaces with no defined methods act like markers. They just tell the compiler that the objects of the classes
implementing the interfaces with no defined methods need to be treated differently. Example Serializable, cloneable etc
Srikanth Iyer
Ranch Hand

Joined: Apr 30, 2007
Posts: 52
can we have an example it would be better!!!
Pranav Bhatt
Ranch Hand

Joined: Mar 20, 2006
Posts: 284
Sending this from the link-: Marke Interface[/url]http://www.devx.com/tips/Tip/5266


The Purpose of the Marker Interface
One of the "clean" features of the Java programming language is that it mandates a separation between interfaces (pure behavior) and classes (state and behavior). Interfaces are used in Java to specify the behavior of derived classes.
Often you will come across interfaces in Java that have no behavior. In other words, they are just empty interface definitions. These are known as marker interfaces. Some examples of marker interfaces in the Java API include:


- java,lang.Cloneable
- java,io.Serializable
- java.util.EventListener

Marker interfaces are also called "tag" interfaces since they tag all the derived classes into a category based on their purpose. For example, all classes that implement the Cloneable interface can be cloned (i.e., the clone() method can be called on them). The Java compiler checks to make sure that if the clone() method is called on a class and the class implements the Cloneable interface. For example, consider the following call to the clone() method on an object o:

SomeObject o = new SomeObject();
SomeObject ref = (SomeObject)(o.clone());

If the class SomeObject does not implement the interface Cloneable (and Cloneable is not implemented by any of the superclasses that SomeObject inherits from), the compiler will mark this line as an error. This is because the clone() method may only be called by objects of type "Cloneable." Hence, even though Cloneable is an empty interface, it serves an important purpose.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: What is Marker interfaces?