Учитель zapp

Singleton

  • 8
  • Недоступна
Класс реализует паттерн Singleton, если позволяет создать всего один объект своего типа. Вам нужно создать класс Singleton в отдельном файле, добавить в него статический метод getInstance (он должен возвращать один и тот же объект класса при любом вызове). Подумайте, каким образом можно запретить создание других объектов этого класса.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (76)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Гаврила Ложкин15 уровень, Москва
9 сентября, 16:06
Ну это даже не интересно. Решение задачи почти явно описано в требованиях.
Павел Минеев31 уровень, Челябинск
22 августа, 19:06
В итоге должна быть возможность создать объект (экземпляр класса) ТОЛЬКО используя метод getInstance. - Может ввести в заблуждение. На самом деле никакой объект в этом методе не создаётся, это самый обычный гетер, который возвращает поле класса. Для того чтобы нельзя было создать извне объект класса нужно всего-лишь объявить поле статичным и приватным и проинициалировать его прямо в месте объявления, то бишь:
private static Singleton instance = new Singleton();
Антон15 уровень
13 августа, 12:39
https://javarush.ru/groups/posts/589-patternih-i-singleton--dlja-vsekh-kto-vpervihe-s-nimi-stolknulsja Мне очень помогла эта статья
Zhenya Kononov18 уровень, Санкт-Петербург
17 августа, 09:57
подтверждаю, статья полезная
Di Ma22 уровень, Екатеринбург
7 июня, 04:27
В идеи есть заготовка на синглтоне правда поле по другому называется
Константин22 уровень, Москва
4 июня, 19:50
В IDEA среди создания классов заметил заготовку Singleton. Рука дёрнулась, но решил попробовать сам, так интереснее. В общем, нужно делать всё по условию, поле инстанс объявил как private static final - всё прошло. Потом посмотрел заготовку - там просто private static, без final. В общем логика и результат одни и те же, final необязателен.
Nail27 уровень, Кельн
30 мая, 14:25
как по мне, так задачи выше, те которые без * были сложнее этой. Нужно просто все делать по условию.
Гаврила Ложкин15 уровень, Москва
9 сентября, 16:06
полностью согласен. Все решение описано в требованиях.
Тимур20 уровень, Красноярск
14 мая, 08:50
Сделал без паттернов и сложностей. Объявил стат приват переменную инстанс; в приватном конструкторе сделал проверку на нулл; если нулл - возврат; если не нулл присваиваем инстансу новый синглетон. в методе возвращаем инстанс. всё прошло)
Шкипер16 уровень, Минск
13 мая, 11:00
Рекомендую: https://www.youtube.com/watch?v=yl0-_8OJyHQ
Владислав23 уровень
13 апреля, 18:22
Класс является синглтоном (реализует паттерн Singleton), если позволяет создать всего один объект своего типа. мне кажется надо слово "если" заменить на "паттерн")
Lena 18 уровень
29 марта, 08:43
Без комментариев ни за что бы не додумалась, что нужно искать в инете инфу на паттерн Singleton, и что это не просто выдуманное разработчиками название класса. Может все-таки объяснить пару слов, прежде чем давать задачу?
Семён22 уровень, Екатеринбург
5 апреля, 23:30
Статические переменные и методы проходили, модификаторы доступа проходили, константы проходили. Я считаю, что руководствуясь этими знаниями и внимательно прочитав условие, можно написать программу и без знания каких-то там паттернов.