An interface with no methods is known as the marker interface. It provides some useful information to JVM/compiler so that JVM/compiler performs some special operations on it. It is used for better readability of code.
Few marker interfaces which are used in java are Random, Serializable, Clonnable etc.
Syntax:
public interface interface_name {
}
Example:
TierACollegeMarker.java
/**
* This is marker interface for Tier A college.
* @author rajesh.dixit
*/
public interface TierACollegeMarker {
}
IITD.java
/**
* This class represents Tier A grade college.
* @author rajesh.dixit
*/
public class IITD implements TierACollegeMarker {
//Do something
}
Hindustan.java
/**
* This class represents a, non-Tier A college.
* @author rajesh.dixit
*/
public class Hindustan {
//Do something
}
TestCollege.java
/**
* This class is used to test the custom marker interface functionality.
* @author rajesh.dixit
*/
public class TestCollege {
static void tester(Object obj) {
if (obj instanceof TierACollegeMarker) {
System.out.println("Tier A college.");
}
}
public static void main(String args[]) {
IITD college1 = new IITD();
Hindustan college2 = new Hindustan();
/** test college objects.*/
tester(college1);
tester(college2);
}
}
No comments:
Post a Comment