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

Références constructeur

Linda Hamilton
Libérer: 2025-01-14 10:08:43
original
767 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!

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