Что является статическим, а что является синглтоном в котлине? - PullRequest
0 голосов
/ 26 июня 2019

Тип 1:

class TestExample {
      object Bell {
       fun  add(){

       }
   }

 Class B{
  TestExample.Bell.add()
}

Тип 2:

class TestExample {
      companion object Bell {
       fun  add(){

       }
   }



Class B{
TestExample.add()
 }

В этом типе 1 и типе 2, который является статическим примером, и который является примером синглтона? Оба ведут себя одинаково, верно?

1 Ответ

2 голосов
/ 26 июня 2019

Из официального Kotlin Документы :

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

Если вам нужен синглтон - класс, у которого есть только один экземпляр - вы можно объявить класс обычным способом, но использовать ключевое слово object вместо класса

Сопутствующие объекты

Если вам нужно связать функцию или свойство с классом, а не к его экземплярам (похожим на @staticmethod в Python), вы можете объявить его внутри объекта-компаньона

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...