Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 937
sachin Avatar asked Feb 29 '12 06:02

sachin


2 Answers

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.

like image 71
blahman Avatar answered Nov 08 '22 06:11

blahman


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.

like image 12
shift66 Avatar answered Nov 08 '22 05:11

shift66