¿Hay referencias de constructores en Kotlin?

103

En Java tenemos la Class::newsintaxis para referencias de constructor. Lo sé, hay referencias invocables para métodos, pero ¿qué hay de los constructores? Un caso de uso típico para mí serían las fábricas.

Kirill Rakhman
fuente

Respuestas:

142

Puede obtener una instancia de función para un constructor simplemente usando ::ClassName, como si fuera una función de fábrica.

Ilya Ryzhenkov
fuente
25
Muy agradecido. Idk si esto va a ayudar a nadie, pero para hacer esto con las clases selladas hacer:SealedClass::SubClass
aProperFox
¿Qué pasa con las referencias a constructores secundarios?
Travis Well
@TravisWell, ¿cuál sería un equivalente en Java? AFAIK, no puede hacer referencia a un constructor específico en Java. El compilador detecta automáticamente a qué constructor hacer referencia (a través de Class :: new) por tipos de argumentos inferidos (o explícitos)
Andrey