构造器可以被引用就像方法和属性一样。它们可以在任何地点使用,使用时需要传递合适的参数并返回特定类型的对象实例。构造器使用::操作符引用和类名。
class Foo fun function(factory: () -> Foo) { val x: Foo = factory() }
使用::Foo,Foo类的零参数构造器:
function(::Foo)