Existem referências de construtor no Kotlin?

103

Em Java, temos a Class::newsintaxe para referências do construtor. Eu sei, existem referências que podem ser chamadas para métodos, mas e quanto aos construtores? Um caso de uso típico para mim seriam fábricas.

Kirill Rakhman
fonte

Respostas:

142

Você pode obter uma instância de função para um construtor simplesmente usando ::ClassName, como se fosse uma função de fábrica.

Ilya Ryzhenkov
fonte
25
Muito grato. Eu pergunto se isso vai ajudar alguém, mas para fazer isso com classes seladas faça:SealedClass::SubClass
aProperFox
E quanto às referências a construtores secundários?
Travis Well
@TravisBem, o que seria equivalente em Java? AFAIK você não pode fazer referência a um construtor específico em Java. O compilador detecta automaticamente qual construtor fazer referência (por meio de Class :: new) por tipos de argumento inferidos (ou explícitos)
Andrey