В статье 56 «Эффективной Java» (третье издание) Джошуа Блох утверждает: «Общие классы не должны использовать конструкторы по умолчанию, потому что нет возможности предоставить для них комментарии к документам».
Однако конструктор по умолчанию не делает ничего неожиданного, он просто создает новый экземпляр. Какая информация должна быть задокументирована в комментарии к конструктору без параметров, которая не должна просто жить в комментарии к классу?
Я могу понять это, если класс имеет интересное поведение в блоках инициализатора (поскольку в противном случае их негде комментировать) или даже нестандартные назначения значений для полей (возможно, вызов методов для получения начальных значений). Но похоже, что для большинства классов это мало что добавляет. Есть что-то, что мне не хватает?