Так как поля являются частными, вы можете проверить правильность в установщиках.Например:
public void setMonth(int month) {
if (month < 1 || month > 12) {
throw new IllegalArgumentException(month + " is not a valid month. Month must be between 1 and 12 inclusive";
}
this.month = month;
}
Другим шаблоном является шаблон строителя, который имеет несколько разновидностей, в том числе:
public Date withMonth(int month) {
if (month < 1 || month > 12) {
throw new IllegalArgumentException(month + " is not a valid month. Month must be between 1 and 12 inclusive";
}
this.month = month;
return this;
}
Преимущество вышеописанного заключается в создании объектов в одну строку:
Date myDate = new Date().withMonth(6).withDate(6).withYear(1976);
С другой стороны, принято начинать имена переменных с маленькой буквы и использовать верблюжий корпус.Имена классов начинаются с заглавной буквы, а константы (перечисления и статические финалы) должны быть в верхнем регистре с подчеркиванием, чтобы улучшить читаемость.