What is the difference between interfaces and inheritance?
Interfaces and inheritance are closely related in Java. In short, when a class implements an interface it inherits the essential behavioural characteristics of the interface. An instance of the class can be treated the same as any other class that implements the interface. In this case, the implements keyword creates the inheritance relationship between an interface and a class. The interface is a largely abstract model, it defines what is required to be a class of that type in terms of the methods it must provide. A class does not inherit any specific behaviour from an interface, a programmer is free to implement interface methods as they choose. So long as they match the interface method signatures a class inherits the ability to “act as” or “behave like” any other implementation class. Interface inheritance creates polymorphism because any class that implements an interface can be cast to that type and used interchangeably with any other in variables and method arguments. Actions: F