0
votes

Pourquoi l'utilisation du mot-clé "par défaut" dans java8

Dans Java 8, l'implémentation de la méthode default est introduite. Ma question est de savoir pourquoi il est nécessaire d'avoir le mot-clé default dans le nom de la méthode / signature. Pourquoi ne peut-il pas se passer du mot-clé default comme une implémentation de méthode habituelle?


1 commentaires

Je suppose que vous voulez dire des implémentations par défaut des méthodes d'interface?


4 Réponses :


-4
votes

Dans Java 8, la fonctionnalité «Méthode par défaut» ou (Méthodes Defender), qui permet au développeur d'ajouter de nouvelles méthodes aux interfaces sans casser leur implémentation existante. Il offre la flexibilité pour permettre à l'interface de définir une implémentation qui sera utilisée par défaut dans une situation où une classe concrète ne parvient pas à fournir une implémentation pour cette méthode.

Vous pouvez consulter l'URL ci-dessous pour en savoir plus. https://dzone.com/articles/interface-default-methods-java


1 commentaires

La question n'était pas de savoir quel était le mot-clé par défaut, mais de savoir pourquoi il était nécessaire.



7
votes

Cela rend l'intention claire. Vous ne pouvez pas accidentellement créer une implémentation par défaut pour une méthode. Tout comme les méthodes abstraites nécessitent le mot-clé, au lieu d'être simplement des méthodes sans implémentation.

Une précaution de sécurité pour les programmeurs imprudents.


0 commentaires

0
votes

Remarque: il s'agit de spéculation, mais de spéculation éclairée. Ce que dit la réponse de @ Kayaman est probablement vrai.

Java vise à être aussi rétrocompatible que possible. Si vous n'avez pas inclus le mot-clé par défaut, du code potentiellement invalide, peut-être écrit par erreur, dans une version java précédente se compile désormais sur Java 8+. Cela peut être considéré comme une rupture de compatibilité ascendante.


0 commentaires

3
votes

Il convient de noter que puisque les interfaces Java 8 prennent également en charge les méthodes statiques . Laisser de côté le mot-clé default ouvre la porte à l'ambiguïté: une déclaration de méthode dans une interface sans modificateur serait-elle implicitement statique (comme les constantes), ou implicitement par défaut ? Dans l'état actuel des choses, tout est clair.


0 commentaires