Есть ли ссылки на конструкторы в Котлине?


103

В Java у нас есть Class::newсинтаксис для ссылок на конструкторы. Я знаю, есть вызываемые ссылки на методы, но как насчет конструкторов? Типичным вариантом использования для меня были бы фабрики.

Ответы:


142

Вы можете получить экземпляр функции для конструктора, просто используя ::ClassName, как если бы это была фабричная функция.


26
Весьма признателен. Idk, если это кому-то поможет, но для этого с классами Sealed сделайте:SealedClass::SubClass
aProperFox

А как насчет ссылок на вторичные конструкторы?
Трэвис Уэлл,

@TravisWell, что было бы эквивалентом в Java? AFAIK вы не можете ссылаться на конкретный конструктор в Java. Компилятор автоматически определяет, на какой конструктор ссылаться (через Class :: new) по предполагаемым (или явным) типам аргументов
Андрей
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.