Что такое класс Object в Java

«Что такое класс Object в Java» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Object — это базовый класс в Java, от которого неявно наследуются все остальные классы. Он предоставляет общие методы, которые можно переопределять:

  • equals() — сравнение объектов (по умолчанию ==).
  • hashCode() — хеш-код объекта (используется в HashMap).
  • toString() — строковое представление (по умолчанию ClassName@hashCode).
  • getClass() — возвращает класс объекта.
  • clone() — поверхностное копирование (требует Cloneable).
  • finalize() (deprecated) — вызывается перед удалением GC.

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

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

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