Kotlin: Double Colon vs. Lambda in similarish Class

Viewed 1620

I understand my first second example uses a lambda function with a single parameter passed in. I'm trying to understand why it would be different from my second boilerplate example where a double colon is used instead of a lambda. (still a kotlin newb trying to wrap my head around double colons coming from a python background)

class Service(services: PluginServiceHub) {
    init {
        services.registerFlowInitiator(Landlord::class.java) { Landlord(it) }
    }
}

VS

class Service(services: PluginServiceHub) {
    init {
        services.registerFlowInitiator(IssuanceRequester::class.java, ::Issuer)
    }
}

What does the ::Issuer represent exactly?

1 Answers
Related