Maison > Java > javaDidacticiel > Références constructeur

Références constructeur

Linda Hamilton
Libérer: 2025-01-14 10:08:43
original
684 Les gens l'ont consulté

Referências de construtor

  • Le référencement d'un constructeur utilise la syntaxe : classname::new.

  • Peut être attribué à une interface fonctionnelle dotée d'une méthode compatible avec les constructeurs.

Exemple avec constructeur paramétré

  • Si l'interface fonctionnelle a une méthode avec un paramètre, la référence sera associée au constructeur avec ce paramètre.

MyFunc myClassCons = MyClass::new;
MaClasse mc = myClassCons.func("Testing");

  • Ici, MyClass(String s) est le constructeur référencé.

Exemple avec constructeur par défaut

  • Pour référencer le constructeur sans paramètre, vous devez utiliser une interface fonctionnelle dont la méthode n'a également aucun paramètre.

MyFunc2 myClassCons = MyClass::new;
MaClasse mc = maClassCons.func();

Utiliser avec les classes génériques

  • Pour les classes génériques, vous pouvez préciser le type lors de la création de la référence.

MyGenClass::new;

  • Grâce à l'inférence de type, la spécification n'est pas toujours obligatoire.

Inférence de type

  • La référence au constructeur sélectionne automatiquement celui qui convient le mieux à la méthode d'interface fonctionnelle.

// Montre une référence de constructeur.
// MyFunc est une interface fonctionnelle dont la méthode renvoie
// une référence MyClass.
Interface MyFunc {
MaClasse func(String s);
>
classe MaClasse {
chaîne privée str;
// Ce constructeur prend un argument.
MaClasse(Chaîne s) { str = s; >
// C'est le constructeur par défaut.
MaClasse() { str = ""; >
// ...
Chaîne getStr() { return str; >
>
classe ConstructorRefDemo {
public static void main(String args[])
{
// Crée une référence au constructeur de MyClass.
// Puisque la méthode func() de MyFunc prend un argument,
// nouvelles références au constructeur paramétré de MyClass
// et non le constructeur par défaut.
MyFunc myClassCons = MyClass :: new; Une référence constructeur
// Crée une instance de MyClass en utilisant cette référence de constructeur.
MaClasse mc = myClassCons.func("Testing");
// Utilisez l'instance MyClass nouvellement créée.
System.out.println("str dans mc est " mc.getStr());
>
>

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