Сравнение объектов методом equals – переопределение и…

При сравнении объектов нужно переопределять метод equals, но не перегружать. Пытаюсь сделать именно так, но компилятор говорит Cannot resolve symbol ‘dnaCode’ Подскажите пожалуйста в чём причина?

Если метод equals перегружать – компилируется нормально, вот такой код:

 public static class Man {
    int dnaCode; //поле класса по которому нужно сравнивать

    public boolean equals(Man man) { //перегрузка метода
        return this.dnaCode == man.dnaCode; //это компилируется нормально
    }

Если метод equals переопределять – не компилируется:

public static class Man {
    int dnaCode;

    public boolean equals(Object man) { //переопределение метода
        return this.dnaCode == man.dnaCode; //возле красного dnaCode спойлер Cannot resolve symbol 'dnaCode'
    }

Leave a Reply

Your email address will not be published. Required fields are marked *