powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Зачем используется private конструктор?
11 сообщений из 11, страница 1 из 1
Зачем используется private конструктор?
    #34583519
NewJaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня)
А потом мы его типа используем в методе get класса.. return new MyClass()
что это даёт??
Как правильно метод get должен публичным и/или статичным??
Спасибо
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34583659
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например так
тынц
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34583845
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще его всякие отцы рекомендуют использовать в утильных классах. Ну в тех, которые состоят только из утильных статических методов. Это сделано для того, чтобы нельзя было создать ненужный инстанс класса. Еще, такой класс желательно сделать final, чтобы от него не могли отнаследоваться... Защита от идиотов... Ну и еще, если это вложеный паблик класс с приватным конструктором, чтобы можно было инстансы делать только внутри класса, где находится этот вложеный класс, а использовать этот инстанс можно бы было снаружи. Это очень удобно, если пишется какая-то объектная обертка над структурами данных... Вообще можно полно всяких придумать способов использования...
кстати

NewJaver
А потом мы его типа используем в методе get класса.. return new MyClass()
что это даёт??

если так как ты написал, то абсолютно ничего с функциональной точки зрения... разве что код дебильный это дает...
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34584013
NewJaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fixxerнапример так
тынц
Спасибо за статью только я хотел уточнить по возможности ... там указывается :

public class MySingleton {
private static final MySingleton INSTANCE =
new MySingleton();

private MySingleton() {
}

public static final MySingleton getInstance() {
return INSTANCE;
}
}

Статический метод getInstance() возвращает единственный экземпляр данного класса. Заметьте, что даже если вам необходимо создавать объект из подкласса, то вам не нужно изменять API.
...
Я не пойму почему единственный: Если я укажу MySingleton ms1 = MySingleton.getInstance();
потом MySingleton ms2...n = MySingleton.getInstance() где тут рассмотреть единственный не ясно )

И! если вам необходимо создавать объект из подкласса, то вам не нужно изменять API.
это как?? public class SubSingleton extends MySingleton { SubSingleton () {System.out.println("SubS");}
если я укажу MySingleton ms1 = MySingleton.getInstance() выполнится ли печать "SubS" ?
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34584046
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewJaver
Я не пойму почему единственный: Если я укажу MySingleton ms1 = MySingleton.getInstance();
потом MySingleton ms2...n = MySingleton.getInstance() где тут рассмотреть единственный не ясно )
В ms1 и ms2 вы получите ссылку на один и тот же экземпляр класса. Таким образом, в системе будет существовать единственный экземпляр, а ссылки на него Вы можете раскладывать хоть в сотню разных переменных.
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34584094
NewJaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
y3uвложеный паблик класс с приватным конструктором, чтобы можно было инстансы делать только внутри класса, где находится этот вложеный класс, а использовать этот инстанс можно бы было снаружи. Это ясно, спасибо..

Да и мне хотелось бы узнать именно с функциональной точки зрения, т.к. действительно не вижу причин такого...- вот на форуме решил спросить... Вот если бы Вы пример дали ) где бы можно было убедиться в выгоде приват конструктора...
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34584125
NewJaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pamir В ms1 и ms2 вы получите ссылку на один и тот же экземпляр класса.

да точно ...спасибо - INSTANCE же static
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34584373
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewJaver в выгоде приват конструктора...

эту выгоду должен определять программист, как и во всех остальных случаях с контролем доступа к классам, обхектам, полям и методам, etc... Я вот всегда стараюсь делать приватным все по максимуму, чем меньше паблик АПИ, тем меньше надо на него бумажек писать, имхо, золотое правило
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34584515
NewJaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
y3u
эту выгоду должен определять программист, как и во всех остальных случаях с контролем доступа к классам, обхектам, полям и методам, etc... Я вот всегда стараюсь делать приватным все по максимуму, чем меньше паблик АПИ, тем меньше надо на него бумажек писать, имхо, золотое правило

Спасибо...-буду иметь ввиду) У меня пока нет особого опыта в функциональности, а в первом своём сообщении этой темы предполагаемая там функциональность мне также показалась топорной
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34630767
veaceslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как вызвать приватный конструктор из теста?
исключительно для поднятия code coverage?
может как-то через reflection?
...
Рейтинг: 0 / 0
Зачем используется private конструктор?
    #34630846
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Зачем используется private конструктор?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]