public class MyDate {
    private int day, month, year;

    public MyDate(int day, int month, int year) {
        this.day = day;
        this.month = month;
        this.year = year;
    }

    @Override
    public boolean equals(Object o) {
        // Если ссылки равны объекты идентичны
        if (this == o) return true;
        // Если объект null или классы не совпадают возвращаем false
        if (o == null || getClass() != o.getClass()) return false;
        // Явное приведение типа и сравнение полей
        MyDate myDate = (MyDate) o;
        return day == myDate.day &&
                month == myDate.month &&
                year == myDate.year;
    }

    @Override
    public int hashCode() {
        // Формирование хэш-кода
        int result = day;
        result = 31 * result + month;
        result = 31 * result + year;
        return result;
    }
}
