This question already has an answer here:
What's the difference between the following keywords in Java: implements
, extends
?
This question already has an answer here:
What's the difference between the following keywords in Java: implements
, extends
?
a class extends another class and implements interface. interface extends another interface.
Interface hasn't any implemented methods all defined methods are empty so if class inherits from the interface it should implement it's methods. But if Class1 inherits from Class2 then it already have some working methods (from Class2) and just extends Class2.
An
interface
is an abstract specification of how aclass
should behave whilst aclass
is a concrete implementation of such a specification.Therefore, when you write
implements
you're saying that you are fulfilling some abstract specification in the implementation you've written.extends
means that you take either an implementation (class
) or specification (interface
) and add to it with different or new functionality (or change the specification of its behaviour), thus modifying its behaviour and extend-ing it.