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

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

 один вариант
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).