Bloque de initialization estática en Kotlin

¿Cuál es el equivalente de un bloque de initialization estático en Kotlin?

Entiendo que Kotlin está diseñado para no tener cosas estáticas. Estoy buscando algo con semántica equivalente: el código se ejecuta una vez cuando la class se carga por primera vez.

Mi caso de uso específico es que quiero habilitar la function DayNight de la biblioteca AppCompat de Android y las instrucciones dicen que ponga algún código en el bloque de initialization estático de la class Application .

Solutions Collecting From Web of "Bloque de initialization estática en Kotlin"

Desde algún punto de vista, los companion object s en Kotlin son equivalentes a las partes estáticas de las classs de Java. Particularmente, se inicializan antes del primer uso de la class, y esto le permite usar sus bloques de init como reemploop de los inicializadores estáticos de Java:

 class C { companion object { init { //here goes static initializer code } } }