Existe-t-il des références de constructeur dans Kotlin?


103

En Java, nous avons la Class::newsyntaxe des références de constructeur. Je sais, il existe des références appelables pour les méthodes, mais qu'en est-il des constructeurs? Un cas d'utilisation typique pour moi serait les usines.

Réponses:


142

Vous pouvez obtenir une instance de fonction pour un constructeur en utilisant simplement ::ClassName, comme s'il s'agissait d'une fonction d'usine.


25
Infiniment reconnaissant. Idk si cela peut aider quelqu'un, mais pour le faire avec les classes scellées, faites:SealedClass::SubClass
— aProperFox

Qu'en est-il des références aux constructeurs secondaires?
— Travis Well

@TravisWell quel serait un équivalent en Java? AFAIK, vous ne pouvez pas référencer un constructeur spécifique en Java. Le compilateur détecte automatiquement quel constructeur référencer (via Class :: new) par des types d'arguments inférés (ou explicites)
— Andrey
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.