Sobes.tech
Назад к вопросам
Junior — Middle
74

Можешь перечислить и описать основные методы класса Object в Java?

Компании, где спрашивали
ПромсвязьбанкПромсвязьбанк

Ответ от нейросети

sobes.tech AI

Основные методы класса Object в Java, которые наследуются всеми объектами:

  • equals(Object obj) — сравнивает текущий объект с другим на равенство. По умолчанию сравнивает ссылки, но часто переопределяется для сравнения содержимого.

  • hashCode() — возвращает хеш-код объекта, используется в коллекциях типа HashMap, HashSet. При переопределении equals нужно также переопределять hashCode.

  • toString() — возвращает строковое представление объекта. По умолчанию выводит имя класса и хеш-код, часто переопределяется для удобного отображения.

  • clone() — создает и возвращает копию объекта. Требует реализации интерфейса Cloneable и обычно переопределяется.

  • finalize() — вызывается перед сборкой мусора, используется для освобождения ресурсов (устаревший метод, не рекомендуется к использованию).

  • getClass() — возвращает объект Class, описывающий класс объекта.

  • wait(), notify(), notifyAll() — методы для работы с потоками и синхронизацией.

Пример переопределения equals и hashCode:

@Override
public boolean equals(Object obj) {
    if (this == obj) return true;
    if (obj == null || getClass() != obj.getClass()) return false;
    MyClass other = (MyClass) obj;
    return this.id == other.id;
}

@Override
public int hashCode() {
    return Objects.hash(id);
}