¿Por qué utilizamos "objeto complementario" como un tipo de reemplazo para los campos estáticos de Java en Kotlin?

¿Cuál es el significado previsto de "objeto compañero"? Hasta ahora lo he estado usando solo para reemplazar el de Javastatic cuando lo necesito

Estoy confundido con:

¿Por qué se llama "compañero"?¿Significa eso crear múltiplesestático propiedades, tengo que agruparlo dentrocompanion object ¿bloquear?Para crear instantáneamente una instancia de singleton que tenga el alcance de una clase, a menudo escribo

:

companion object {
    val singleton by lazy { ... }
}

lo que parece una forma unidiomática de hacerlo. ¿Cuál es la mejor manera?

Respuestas a la pregunta(4)

Su respuesta a la pregunta