Как объекты и сопутствующие объекты Kotlin и ленивые работы с памятью

Я не мог найти нигде о том, как объекты, объекты-компаньоны и ленивые работают с памятью. Может ли кто-нибудь объяснить мне, как они работают с памятью?

благодаря

Это довольно неопределенный вопрос, на который можно ответить, глядя на байт-код.

Объявление объекта

Объявление объекта – одноэлементное. Он имеет статическое поле под названием INSTANCE которое инициализируется в статическом блоке ( <clinit> ).

Объект компаньона

Companion является своего рода внутренним классом, но является singleton и ведет себя как объявление объекта.

Ленивый делегат

Ленивый делегат (каждый делегат) – отдельный объект. Каждый раз, когда вы создаете ленивое поле, создается экземпляр объекта-делегата.

Intereting Posts
Как получить java.io.File из ресурса R.raw Как использовать AndroidAnnotation @FragmentArg с Kotlin? Как получить доступ к статическому методу Java в подклассе Kotlin? Доступ к идентификаторам ресурсов с использованием Kotlin & Anko Добавляем int и int? в Котлине Параметры контекстного типа Hadoop в Котлине Подкласс RelativeLayout со вторичными конструкторами в Котлине Плагин Kotlin-allopen + @JvmField на val не достаточно окончательный Можно ли создать приложение для Android, которое использует Kotlin с make или Soong? Использование Parceler с классом данных Kotlin с конструктором для сериализации каков рекомендуемый способ использования двойного удара Kotlin для элемента с нулевым классом Android Kotlin: Смысл бесплатной функции с использованием Mockito / PowerMock Переменная Kotlin String в параметре функции auto cast to java.lang.String, почему? Список связанных со списком в Котлине ClassNotFoundException в Android-проекте только на моем ПК