вызываешь поля котлиновского object, то нужно дополнительно через точку прописывать INSTANCE (если не поставить над полем @JvmStatic).
String value = KotlinObject.INSTANCE.mylovelyConst;
В документации написано, что этот INSTANCE - это синглтон.
Вопрос: как реализуется этот синглтон? Через статическое поле в классе или через enum?
через статическое поле
Спасибо, а откуда информация?
В идее можно можно преобразовать котлин код в джавовый и посмотреть что будет
Инстансы enum сами генерируются как статические поля :Р
То есть вполне возможно, что у котлиновских object под капотом enum, но при переходе котлин -> байткод -> джава все преобразуется в статическое поле
Нет, конечно. enum в Java и enum class в Kotlin/JVM обязан быть субклассом java.lang.Enum
Последнего пункта не существует, байткод уже ни во что не преобразуется
Прочитайте, пожалуйста, введение статьи, которую кидали выше. Тогда вы поймёте про какое преобразование из байткода в джаву я писал
Обсуждают сегодня