Можно ли создать несколько companion object с разными именами

«Можно ли создать несколько companion object с разными именами» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, в классе может быть только один companion object. Он объявляется без имени (по умолчанию Companion) или с одним именем. Попытка создать второй вызовет ошибку компиляции.

class MyClass {
    companion object Named { // допустимо
        const val TAG = "MyClass"
    }
    // companion object Another {} // ошибка: только один companion object разрешен
}

Если нужны дополнительные статические элементы, их можно добавить в существующий companion object.