Kotlin: Различие между объектом и компаньоном возражает в классе

Каково различие между объектом и сопутствующим объектом в классе в kotlin?

Пример:

class MyClass {

    object Holder {
        //something
    }

    companion object {
        //something
    }
}

Я уже читал, тот сопутствующий объект должен использоваться, если содержание параметров/методов будет тесно связано со своим классом.

Но почему там также возможность объявления обычного объекта в классе? Поскольку это ведет себя точно как компаньон, но это должно иметь имя.

Существует ли, возможно, различие в его "помехах" (я со стороны Java), жизненный цикл?

61
задан 6 May 2017 в 01:29

1 ответ

Сопутствующий объект инициализируется, когда класс загружается (обычно в первый раз, когда на него ссылается другой код, который выполняется), тогда как Объект объявления инициализируются лениво при доступе впервые.

относитесь https://kotlinlang.org/docs/reference/object-declarations.html , нижний раздел ясно определяет различие между этими двумя.

0
ответ дан 31 October 2019 в 16:11

Другие вопросы по тегам:

Похожие вопросы: