Можешь перечислить и описать основные методы класса 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);
}