Maison  >  Article  >  Java  >  Explication détaillée de la différence entre implémenter et étendre en Java

Explication détaillée de la différence entre implémenter et étendre en Java

黄舟
黄舟original
2017-08-22 10:16:362521parcourir

Cet article présente principalement des informations pertinentes qui expliquent la différence entre Implement et Extends dans JAVA extends est l'interface d'héritage, et Implement est le mot-clé permettant à une classe d'implémenter une interface. Les amis qui en ont besoin peuvent s'y référer

.

Explication détaillée de la différence entreimplémenter et extends en JAVA

Extends hérite de la classe parent Tant que la classe n'est pas déclarée comme finale ou que la classe est définie comme abstraite. , il peut être hérité. L'héritage multiple n'est pas pris en charge en Java, mais il peut être implémenté à l'aide d'interfaces, vous devez donc utiliser des implémentations. L'héritage ne peut hériter que d'une seule classe, mais les implémentations peuvent implémenter plusieurs interfaces, il suffit de les séparer par des virgules. Par exemple, la classe A extends B Implements C,D,E

implements est un mot-clé utilisé par une classe pour implémenter une interface. Il est utilisé pour implémenter les méthodes abstraites définies dans l'interface.

Il y a quelques points supplémentaires à noter :

(1) Les interfaces peuvent être implémentées par plusieurs implémentations, les classes abstraites ne peuvent être étendues que par une seule

(2 ) Les interfaces n'ont que des définitions, les classes abstraites peuvent être définies et implémentées

(3) La définition du champ de l'interface est par défaut : public static final, et le champ de la classe abstraite est par défaut "friendly" (visible dans ce package )

Par exemple : people est une interface, il a la méthode de dire. public interface people(){ public void say();} Mais l'interface n'a pas de corps de méthode. Le corps de la méthode ne peut être implémenté que via une classe spécifique. Par exemple, la classe chinoise implémente l’interface people.


 public class chinese implements people
{ public void say() 
{System.out.println("你好!");
}
}

En Java, implémente signifie que la sous-classe hérite de la classe parent. Par exemple, la classe A hérite de la classe B et est écrite comme la classe A implémente B{}<.>

La différence entre

et Extends

  s'étend, vous pouvez implémenter la classe parent, ou vous pouvez appeler la classe parent pour initialiser this.parent(). Et cela écrasera les variables ou fonctions définies par la classe parent. L’avantage est que l’architecte peut définir l’interface et laisser l’ingénieur la mettre en œuvre. L'efficacité du développement de l'ensemble du projet est améliorée, mais le coût de développement est considérablement réduit.

Les implémentations, implémentent la classe parent et les sous-classes ne peuvent pas remplacer les méthodes ou les variables de la classe parent. Même si la sous-classe définit les mêmes variables ou fonctions que la classe parent, elles seront remplacées par la classe parent.

L'utilisation spécifique de ces deux implémentations dépend de la situation réelle du projet et de la nécessité de l'implémenter. Seule l'interface définie doit être implémentée spécifiquement, ou elle peut être modifiée. bonne évolutivité, utilisation étendue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn