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.

Kirill Rakhman
la source

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.

Ilya Ryzhenkov
la source
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