Можно ли анонимный объект добавить в sealed class

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

Ответ

Нет, анонимный объект нельзя добавить в sealed class, так как все подклассы sealed class должны быть объявлены внутри того же файла, где объявлен сам sealed class. Анонимные объекты создаются во время выполнения и не имеют имени, поэтому их нельзя использовать как подклассы sealed class.

Пример:

sealed class Result {
    data class Success(val data: String) : Result()
    data class Error(val message: String) : Result()
}

// Так нельзя:
val result = object : Result() {} // Ошибка компиляции