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é
MyFunc myClassCons = MyClass::new;
MaClasse mc = myClassCons.func("Testing");
Exemple avec constructeur par défaut
MyFunc2 myClassCons = MyClass::new;
MaClasse mc = maClassCons.func();
Utiliser avec les classes génériques
MyGenClass
Inférence de type
// 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!