Java acheive inheritance using two notions : By
extending the class and implementing the
interace. When you "implement" an interface, you
are stipulating that your class adheres to the
"contract" of the interface that you specified.
Use interfaces to say "What objects can do" or
"What can be done to an object. "Interfaces are
intended to define the what without defining the
how. Interfaces provide a form of multiple
inheritance. A class can extend only one other
class. Interfaces are limited to public methods
and constants with no implementation.