По умолчанию компилятор создает для вас конструктор по умолчанию, поэтому, если вы не хотите указывать какие-либо специальные действия (инициализация членов не является точкой здесь), то вы не должны указывать конструктор.
Другое дело, что некоторые классы должны иметь согласованное состояние. Например, у вас есть класс Book. Там нет Sence создать книгу без названия, поэтому необходимо указать конструктор с параметром строки:
public Book(String name) {
this.name = name;
}
Что касается конструкторов по умолчанию они могут быть необходимы, если вы должны сериализовать класс или использовать его в сортировочном/unmarshalling (JAXB требует пустого конструктора по умолчанию).
Если это не та точка, и ваш класс не имеет так называемого согласованного состояния, поэтому пустой конструктор по умолчанию абсолютно необязателен для объявления.
Вы должны помнить, что конструктор по умолчанию является общедоступным по умолчанию, поэтому рассмотрите возможность декальнирования явного, если вы хотите ограничить это.
Также, если ваш класс довольно длинный, вы можете рассмотреть возможность объявления пустого конструктора по умолчанию для повышения удобочитаемости.
Это просто проблема стиля. Сгенерированный код тот же. –