Если ваш класс является закрытым пакетом, то уровни доступа, указанные ключевым словом модификатора public
вместе со стандартным закрытым пакетом уровень доступа конструктора, эквивалентны.
Однако вы можете указать поведение, которое вы намереваетесь применить к методу в случае изменения видимости класса во время разработки. Это может произойти, когда вы открываете некоторые API, которые ранее были внутренними. В этом случае выглядит более консервативным объявление конструктора как частного пакета, поскольку вы не открываете все двери одновременно.