Можно ли создать объект, если конструктор имеет модификатор private? Если да, то зачем собственно конструктору нужен модификатор доступа, помогите разобраться...
Это нужно, когда объект создается функцией-фабрикой (статической) того же класса. Часто, после создания объекта необходимо вызвать какой-либо его метод (например, для инициализации, которая не может быть выполнена в конструкторе), без вызова которого объектом нельзя пользоваться.
можно. чтобы создавать только из статических методов данного класса. сделать что-то типа фабрики.
Приватный конструктор запрещает создание экземпляра класса вне методов самого класса, например, что гарантировать существование только одного объекта определённого класса, предположим какого-то ресурса, например БД.
Подробнее про паттерн Singleton (Одиночка)
Модификатор доступа private определяет доступ в рамках данного класса, где вы можете создавать объекты. Т.е. вы не сможете создать объект этого класса за его пределами, так например с помощью new из другого класса или блока.
Конечно если вы не используете рефлексию, которая может изменить положение вещей.
Зачем это нужно, ну скажем вы хотите контролировать создание объектов внутри класса.
Создать можно через статический метод фабрику, это делается для того чтобы не создавать объекты напрямую, чтобы именовать конструкторы, но так же можно создать такой объект через рефлексию.
UPD
Ещё такие классы с приватными конструкторами используют для создания утилитарных классов, в которых есть только static методы.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей