Можно ли создать класс по ссылке на него?

Могу получить ссылку на класс вот таким образом:

class MyClass() {}

val link = MyClass::class

Можно ли теперь как-то создать экземпляр класса с помощью ссылки на него?

Должно получиться примерно вот так:

val myClass: MyClass = link()

К примеру, в PHP есть такая возможность. Интересно, как это работает здесь? И если здесь так нельзя, то зачем вообще оно нужно?


Ответы (2 шт):

Автор решения: Igor
val myClass = (MyClass)link.getDeclaredConstructor().newInstance() 
→ Ссылка
Автор решения: IR42
val link = ::MyClass
val myClass = link()
→ Ссылка