Если класс не имеет конструктора, предоставленного программистом, то компилятор java добавит конструктор по умолчанию с параметрами out, которые будут вызывать конструктор суперкласса внутренне с вызовом super ().Это называется конструктором по умолчанию.
В вашем случае конструктор по умолчанию отсутствует, поскольку вы добавляете их программно.Если вы не добавили конструкторов, сгенерированный компилятором конструктор по умолчанию будет выглядеть следующим образом.
public Module()
{
super();
}
Примечание : в боковом конструкторе по умолчанию он также добавит вызов super (),для вызова конструктора суперкласса.
Цель добавления конструктора по умолчанию:
Задача конструктора - инициализировать переменные экземпляра, если нет переменных экземпляра, которые можно выбрать для удаления конструктора.из вашего класса.Но когда вы наследуете какой-то класс, вы обязаны вызвать конструктор суперкласса, чтобы убедиться, что суперкласс правильно инициализирует все переменные своего экземпляра.
Вот почему, если нет конструкторов, java-компилятор добавит конструктор по умолчанию и вызовет конструктор суперкласса.