web-dev-qa-db-fra.com

Quelle est la différence entre les mots clés implémente et étend dans Java

Quelle est la différence entre les mots clés suivants en Java: implements, extends?

23
sachin

Un interface est une spécification abstraite de la façon dont un class doit se comporter tandis qu'un class est une implémentation concrète d'une telle spécification.

Par conséquent, lorsque vous écrivez implements, vous dites que vous remplissez une spécification abstraite dans l'implémentation que vous avez écrite.

extends signifie que vous prenez soit une implémentation (class) soit une spécification (interface) et que vous y ajoutez des fonctionnalités différentes ou nouvelles (ou modifiez la spécification de son comportement), modifiant ainsi son comportement et étendre - ing.

39
blahman

une classe étend une autre classe et implémente une interface. interface étend une autre interface.
L'interface n'a pas de méthodes implémentées, toutes les méthodes définies sont vides, donc si la classe hérite de l'interface, elle devrait implémenter ce sont des méthodes. Mais si Class1 hérite de Class2, il a déjà quelques méthodes de travail (de Class2) et juste étend Class2.

12
shift66