Какие методы в классе Object знаешь

Object - суперкласс для всех классов. Все объекты, включая массивы, наследуют методы этого класса. Они предоставляют функции, которые доступны для любого объекта. Вот основные методы:

1. `clone()` - создает и возвращает копию объекта. Метод защищенный, поэтому его можно вызвать только внутри класса объекта или в классах потомках.

2. `equals(Object obj)` - определяет равенство между двумя объектами. По умолчанию, этот метод сравнивает ссылки на объекты.

3. `finalize()` - вызывается перед удалением объекта сборщиком мусора. Метод устарел.

4. `getClass()` - возвращает Class, который представляет класс данного объекта. Можно использовать для получения имени во время выполнения.

5. `hashCode()` - возвращает хеш-код, который используется для оптимизации хранения в структурах данных.

6. `notify()` - пробуждает один поток, который ожидает на объекте (вызвавший wait()). Этот метод должен вызываться в синхронизированном контексте.

7. `notifyAll()` - пробуждает все ожидающие потоки. Должен вызываться в синхронизированном контексте.

8. `toString()` - возвращает строковое представление. По умолчанию, возвращает класс и хеш-код, но часто переопределяется для предоставления более информативного представления.

9. `wait()` - заставляет текущий поток ожидать, пока другой поток не вызовет notify() или notifyAll(). Существуют перегруженные версии wait(long timeout) и wait(long timeout, int nanos), позволяющие указать максимальное время ожидания.

Эти методы предоставляют основу для механизмов, таких как сравнение объектов, их клонирование, уведомление и ожидание в многопоточных средах, а также для работы с хеш-таблицами. Играют важную роль в проектировании и реализации Java-программ.

Feb. 22, 2024, easyoffer

public boolean equals(Object obj) – служит для сравнения объектов по значению;

int hashCode() – возвращает hash код для объекта;

String toString() – возвращает строковое представление объекта;

Class getClass() – возвращает класс объекта во время выполнения;

protected Object clone() – создает и возвращает копию объекта;

void notify() – возобновляет поток, ожидающий монитор;

void notifyAll() – возобновляет все потоки, ожидающие монитор;

void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;

void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;

void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;

protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.

Oct. 21, 2023, Источник