Ответ
Нет, в Kotlin можно объявить только один companion object внутри класса. Это ограничение синтаксиса языка. Однако, внутри companion object можно объявлять несколько функций и свойств.
class MyClass {
companion object {
const val CONSTANT = "value"
fun foo() { /* ... */ }
fun bar() { /* ... */ }
}
}
Если нужна дополнительная группировка, можно использовать вложенные объекты внутри companion object:
class MyClass {
companion object {
object Group1 {
fun method1() { /* ... */ }
}
object Group2 {
fun method2() { /* ... */ }
}
}
}
Вызов: MyClass.Group1.method1()