A Java interface comprises a set of method prototypes. Different classes can implement the same interface. In this way, Java facilities polymorphism--the idea that a given abstraction can have many different forms. You should understand how interfaces are used together with abstract classes and inheritance to support polymorphism.