Топ контрибуторов
loading
loading
Знаете ли Вы, что

Если у вас есть уникальная статья и вы хотите, чтобы она стала достоянием общественности, вы можете разместить ее на Quizful.

Лента обновлений
ссылка Jul 9 05:01
Комментарий от guenn6797:
Вопрос неоднозначный (
ссылка Jul 8 17:11
Комментарий от IZI1:
Хоть где-то я прав)
ссылка Jul 8 17:10
Комментарий от IZI1:
Интересный вопрос)
ссылка Jul 7 22:58
Комментарий от Zorayr:
это уже не так )
ссылка Jul 7 16:06
Комментарий от arfesdt:
4 вариант в 3 питоне не работает
SyntaxError: invalid sy...
Статистика

Тестов: 153, вопросов: 8597. Пройдено: 463744 / 2265798.

Правильное определение equals() и hashCode()

Вопрос из теста ООП в Java

Какое утверждение верно по отношению к данному коду:

public class Person {
    private String name;
    public Person(String name) {
        this.name = name;
    }
    public boolean equals(Person p) {
        return p.name.equals(this.name);
    }
} 
  • Метод equals неправильно переопределяет метод equals класса Object.

  • Возникнет ошибка компиляции в методе equals, так как из этого метода не доступно p.name.

  • Для того, чтобы класс корректно работал в любом контексте, он должен переопределить еще и метод hashCode класса Object

  • В методе equals не хватает вызова super.equals(this.name).