Я подозреваю, что это неправильное понимание разницы между синтаксисом и сгенерированным классом.
public class Alpha {
}
public class Beta {
public Beta() {}
}
В Alpha
конструктор по умолчанию неявный; в Beta
это явно. Оба имеют общедоступные конструкторы по умолчанию согласно спецификации JavaBean.
public class Gamma {
private final Type t;
public Gamma(Type t) {
this.t = t;
}
}
С другой стороны, Gamma
не соответствует требованию, так как нет общедоступного конструктора без аргументов. Не было бы способа создать экземпляр этого объекта без контекста о том, как заполнить конструктор.