Назад к вопросам
СБЕР
Senior
3
Расскажите про методы класса Object в Java
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Java класс Object — корень иерархии всех классов. Он содержит базовые методы, которые наследуются всеми объектами. Основные методы:
equals(Object obj)— сравнивает объекты на равенство. По умолчанию сравнивает ссылки, но часто переопределяется для сравнения содержимого.hashCode()— возвращает хэш-код объекта. Важно, чтобы еслиequalsвозвращает true для двух объектов, ихhashCodeбыл одинаковым.toString()— возвращает строковое представление объекта. По умолчанию выводит имя класса и хэш-код, часто переопределяется для удобного отображения.clone()— создает копию объекта. Требует реализации интерфейсаCloneable.finalize()— вызывается перед сборкой мусора, но устарел и не рекомендуется к использованию.getClass()— возвращает объектClass, описывающий класс объекта.notify(),notifyAll(),wait()— методы для работы с монитором объекта в многопоточности.
Пример переопределения equals и hashCode:
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MyClass myClass = (MyClass) o;
return Objects.equals(field, myClass.field);
}
@Override
public int hashCode() {
return Objects.hash(field);
}