Question:
What’s an interface in Java programming?
Answer:
Conceptually, an interface is a class that defines a set of methods with no implementation. It is analagous to a pure virtual or “abstract” class in C++. Java does not support multiple inheritance in the same way as C++. In C++, any class from be derived from any number of classes. In Java, a class can only be deried from a singleclass. However, a class can implement any number of interfaces. This allows a more restrictive form of polymorphism than that available inC++, but actually winds up being sufficient to meet the needs of most object-oriented programs. The Java core APIs have many examples of interfaces. For example, the AWT event model depends heavily on a set of Listener interfaces that define methods for responding to specificevents. The interfaces do not implement any methods, but rather define methods that would have to be implemented by a class desiring to interact with AWT events. This particular use of interfaces is akin to the use of function pointers in C to implement callback functions for GUIs. A class implements one or more interfaces byusing the keyword implements
the same way extends
is used for subclassing.