Generally, they are used to give additional information about the behaviour of a class.It is just used to "mark" Java classes which support a certain capability . Examples: java.util.RandomAccess
java.io.Serializable
java.rmi.Remote
java.util.EventListner
javax.servlet.SingleThreadModel
java.lang.Clonable
javax.ejb.EnterpriseBean
Chat with our AI personalities
Marker interface is used as a tag to inform a message to the java compiler so that it can add special behaviour to the class implementing it. Java marker interface has no members in it
Lets take the java.io.Serializable marker interface. It doesnot has any members defined it it. When a java class is to be serialized, you should intimate the java compiler in some way that there is a possibility of serializing this java class. In this scenario, marker interfaces are used. The java class which may be serialized has to implement the java.io.Serializable marker interface. In such way, we are intimating the java compiler.
Naresh Tuhania From IBM
The Interface which doesn't have any declarations of methods are called the markable interface (or marker interface)They are named marker interfaces, because their only purpose is to mark special classes.Example:In the Java API there is the interface Cloneable. Since Object already has the method clone() the Cloneable Interface is empty and is only used to mark classes, which objects are allowed to clone.There are Three marker interfaces that are Serializable,Remote and Cloneable.
yes we can define a variable in an interface in java.
Runnable interface
According to a beginner's book on Java, an interface can't have constructors. Also, the interface itself can't contain the method implementation.
Yes, it is possible to write a keylogger in Java, but you would need to use the Java Native Interface to do so.