In Kotlin, many lambdas you see in source code are parameters of inline functions and are inlined directly into the bytecode of the surrounding methods.
If an object is indeed required for a lambda (e.g., you want to store it somewhere as a reference, or pass to a non-inline function), then its basically the same:
static instance for a non-capturing lambda,
anonymous class instance for a capturing lambda.