Нет, конструкторы могут быть public, private, protected или default (вообще без модификатора доступа). Создание чего-то приватным не означает, что никто не может получить к нему доступ. Это просто означает, что никто за пределами класса не может получить к нему доступ. Так что приватный конструктор тоже полезен.
Могут ли конструкторы быть приватными в Java?
Частный конструктор в Java используется для ограничения создания объектов. Это специальный конструктор экземпляров, используемый в статических классах только для членов. Если конструктор объявлен как закрытый, то его объекты доступны только внутри объявленного класса. Вы не можете получить доступ к его объектам из-за пределов класса конструктора.
Являются ли конструкторы по умолчанию закрытыми или общедоступными?
В C++ конструктор автоматически вызывается при создании объекта класса. По умолчанию конструкторы определены в разделе public класса..
Почему мы обычно объявляем конструктор как открытый член в Java?
Публичный конструктор также означает он может быть доступен вне класса Другой класс также может получить их простым способом однако, если мы сделаем конструктор закрытым, он будет недоступен вне класса. Также мы делаем конструктор общедоступным, чтобы инициализировать класс в любом месте программы.
Как мне сделать свой конструктор общедоступным?
Сделайте конструктор общедоступным, если вы позволяете своему клиентскому коду вне пакета создавать экземпляр вашего объекта. если вы нехотите этого (поскольку объект зависит от пакета или сам объект не может быть создан напрямую) use package-private.