Можно ли создать объект типа Any через конструктор

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

Ответ

В Kotlin Any — это корневой тип всех классов, но у него нет публичного конструктора. Попытка создать экземпляр через Any() вызовет ошибку компиляции.

Однако можно создать объект, явно указав тип Any, используя существующий экземпляр другого класса:

val anyObject: Any = "Hello" // String приводится к Any

Или через анонимный объект:

val anyInstance = object : Any() {  
    override fun toString() = "Custom Any"  
}  

Но напрямую Any() — нельзя.