Maison > Java > javaDidacticiel > Interfaces fonctionnelles

Interfaces fonctionnelles

Patricia Arquette
Libérer: 2025-01-07 08:10:40
original
418 Les gens l'ont consulté

Interfaces funcionais

Définition de l'interface fonctionnelle

  • Contient une seule méthode abstraite.

  • Peut avoir des méthodes standards et/ou statiques.

  • La méthode abstraite ne précise pas la mise en œuvre.

Interface MaValeur {
double getValue();
>

Rappel : Dans les interfaces fonctionnelles, le modificateur abstrait n'est pas explicitement nécessaire, car Java suppose que toute méthode qui n'a pas d'implémentation dans une interface est automatiquement abstraite.

Attribuer un Lambda à une interface fonctionnelle

MaValeur maVal = () -> 98,6;

Le type de retour et les paramètres du lambda doivent être compatibles avec la méthode abstraite.

Appel de méthode abstraite :

System.out.println("Une valeur constante : " myVal.getValue());

Résultat : 98,6.

Interfaces fonctionnelles avec paramètres

Interface MyParamValue {
double getValue(double v);
>

Lambda avec calcul de l'inverse :

MyParamValue myPval = (n) -> 1,0/n;
System.out.println("L'inverse de 4 est " myPval.getValue(4.0));

  • Résultat : 0,25.

Inférence de type

Type de paramètre déduit par le contexte :
(n) -> 1,0/n ; // Type déduit comme double

Type explicitement déclaré (facultatif) :
(double n) -> 1,0/n;

Règles de compatibilité

  • Le type et le nombre de paramètres dans l'expression lambda doivent correspondre à la méthode abstraite.

(int x, int y) -> xy;

Conclusion

  • Des interfaces fonctionnelles permettent l'utilisation de lambdas.

  • Les expressions Lambda fournissent une implémentation concise de la méthode abstraite.

  • Les contextes de type cible et la compatibilité des types sont cruciaux pour son utilisation.

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal