Interfaces in the Java language provide some of the features of multiple inheritance without the drawbacks of full multiple inheritance. A class extends only a single superclass, but it can implement one or more interfaces. Interfaces themselves can extend other interfaces.
An interface is not a definition of a class, but a definition of a set of methods that one or more classes will implement. An important issue of interfaces is that they declare only methods and constants. Variables cannot be defined in interfaces.
The syntax of an interface is a subset of the syntax for a class.
During reverse engineering: