Класс Object

В Java класс Object является корневым классом для всех других классов. Он определен в пакете java.lang и автоматически является суперклассом для всех классов, если явно не указан другой суперкласс.

  1. equals(Object obj):

    • Метод equals() используется для сравнения содержимого двух объектов на равенство.

    • Обычно переопределяется в подклассах для сравнения конкретных атрибутов объектов.

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

  2. hashCode():

    • Метод hashCode() возвращает целочисленное значение, называемое хеш-кодом объекта.

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

    • Реализация по умолчанию в классе Object возвращает хеш-код, основанный на внутреннем адресе объекта в памяти.

  3. toString():

    • Метод toString() возвращает строковое представление объекта.

    • Переопределение этого метода позволяет удобно получать информацию о содержимом объекта в виде строки.

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

  4. getClass():

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

    • Этот метод позволяет получить информацию о классе объекта во время выполнения программы.

  5. clone():

    • Метод clone() создает и возвращает копию объекта.

    • Для корректной работы метода clone() класс объекта должен реализовать интерфейс Cloneable и переопределить метод clone().

  6. finalize():

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

    • Переопределение этого метода позволяет выполнять очистку ресурсов или другие действия перед уничтожением объекта.

  7. notify(), notifyAll(), wait():

    • Эти методы используются для реализации механизмов синхронизации и многопоточности в Java.

    • Они используются в связке с мониторами объектов для управления доступом к общим ресурсам в многопоточных приложениях.

  8. wait(long timeout):

    • Метод wait(long timeout) позволяет потоку ждать определенное количество времени до того, как он будет пробужден или прерван.

Класс Object предоставляет базовые функции и методы, которые доступны для всех объектов в Java, и является основой для создания пользовательских классов.

Last updated