Что такое singleton класс в Java?

В объектно-ориентированном программировании шаблон Singleton ограничивает создание экземпляра класса и гарантирует, что в JVM (виртуальная машина Java) существует только один экземпляр класса. Другими словами, класс должен гарантировать, что только один экземпляр должен быть создан, а один объект может использоваться всеми другими классами.

Использование шаблона Singleton

Когда вам нужно убедиться, что существует один экземпляр объекта, доступного для нескольких других классов, вы можете использовать шаблон Singleton.

Когда вам нужно убедиться, что существует один экземпляр объекта, доступного для нескольких других классов, вы можете использовать шаблон Singleton....

Чтобы создать шаблон Singleton, вам необходимо следующее:

Чтобы создать шаблон Singleton, вам необходимо следующее:...

Выход

SingletonClass Пояснение

В SingletonClass, в первый раз, когда мы запрашиваем метод getInstance() в первый раз, он создает объект класса с именем sInstance и возвращает его переменной.

Поскольку sInstance является статическим, он изменяется от нуля до некоторого объекта. Второй раз, когда мы пытаемся вызвать метод getInstance(), поскольку sInstance не является нулевым, тогда он возвращается переменной вместо создания нового объекта SingletonClass.

В основном методе мы создаем экземпляр класса singleton с 3 объектами obj1, obj2, obj3, вызывая статический метод getInstance(). Но на самом деле после создания объекта obj1 переменные obj2 и obj3 указываются на объект obj1. Итак, если мы изменим переменные объекта obj1, это отразится при доступе к переменным объектов obj2 и obj3. Также, если мы изменим переменные объекта obj3, это отразится при доступе к переменным объектов obj1 и obj2.

Разница между нормальным классом и классом Singleton

Разница в нормальном и одиночном классе в терминах создания экземпляра. То есть для нормального класса мы используем конструктор для создания экземпляра, тогда как для singleton-класса мы используем метод getInstance().

Разница в нормальном и одиночном классе в терминах создания экземпляра. То есть для нормального класса мы используем конструктор для создания экземпляра, тогда как для singleton-класса мы используем метод getInstance()....

Разница между статическим классом и одиночным шаблоном

  1. Объекты Singleton хранятся в куче, но статические объекты хранятся в стеке.
  2. Мы можем клонировать объект singleton, но мы не можем клонировать объект статического класса.
  3. Одиночные классы следуют концепциям ООП), статические классы этого не делают.
  4. Вы можете создать один экземпляр объекта и повторное его использование, тогда как вы не можете создать экземпляр статического класса.

Источник: http://net-informations.com/Java/cJava/singleton.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector