Как было упомянуто RealSkeptic , конструкторы полезны в тех случаях, когда можно создать пригодный для использования объект без передачи каких-либо аргументов конструктору. Не так уж и полезно иметь Integer
без заданного значения, поэтому для передачи его конструктору требуется int
(или String
, который можно преобразовать в int
).
В java-библиотеке есть некоторые классы, которые имеют конструкторы по умолчанию, но только когда они могут быть полезны.
Чтобы просмотреть примеры, которые вы упомянули:
String
имеет конструктор по умолчанию для создания пустой строки. Это не очень полезно из-за неизменности строк, но все равно может использоваться при необходимости.
Array
содержит только статические методы и не должен создаваться по какой-либо причине.