Marker/Tagging Interfaces:
An interface with no methods is known as marker or tagged interface.
Why marker interface used:Â Â
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.  Example: Serializable, Clonnable etc.Â
Syntax:
public interface Interface_Name { } |
Let us understand it with a example. We have no. of colleges from which some colleges are of A grade. We have created a AGradeCollegeMarker interface which contains no method and only inform the JVM that it is a A grade college. Every A grade college have to implement AGradeCollegeMarker. In TestCollege class, tester method will print “A grade college.” if object belongs to A grade college.
Example:
AGradeCollegeMarker.java
package com.w3spoint.business; /** * This is marker interface for A grade college. * @author W3spoint */ public interface AGradeCollegeMarker { } |
College1.java
package com.w3spoint.business; /** * This class represents a A grade college. * @author W3spoint */ public class College1 implements AGradeCollegeMarker{ //Do something } |
College2.java
package com.w3spoint.business; /** * This class represents a, non A grade college. * @author W3spoint */ public class College2 { //Do something } |
TestCollege.java
package com.w3spoint.business; /** * This class is used to test the custom marker interface functionality. * @author W3spoint */ public class TestCollege { static void tester(Object obj){ if (obj instanceof AGradeCollegeMarker) { System.out.println("A grade college."); } } public static void main(String args[]){ College1 obj1 = new College1(); College2 obj2 = new College2(); //test college objects tester(obj1); tester(obj2); } } |
Output:
A grade college. |
Download this example.
Next Topic: Constructor in java with example.
Previous Topic: Interface in java with example.
Java interview questions on interface and abstract class
- What is interface in java?
- Can we declare an interface method static in java?
- Can an interface be declared final in java?
- What is marker interface and how we can create it?
- What is difference between abstract class and interface in java?
- What is abstract class in java?
- Why abstract class is used in java?
- Can abstract class have constructors in java?
- Can abstract class be final in java?
- Can we declare local inner class as abstract?