Search code examples
javainheritanceextendsimplements

What's the difference between the implements & extends keywords in Java


What's the difference between the following keywords in Java: implements, extends?


Solution

  • An interface is an abstract specification of how a class should behave whilst a class 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.