Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

java2

.pdf
Скачиваний:
17
Добавлен:
05.06.2015
Размер:
1.32 Mб
Скачать

Приложение. Методы класса Object . Сборщик мусора.

Поскольку все классы являются явными или неявными расширениями класса Object, они наследуют его методы, которые делятся на 2 категории: общие служебные и методы, поддерживающие потоки. К категории служебных относятся следующие методы:

public boolean equals(Object obj)

Сравнивает объект-получатель с объектом, на который указывает ссылка obj; возвращает true, если объекты равны между собой, и false в противном случае. Если необходимо выяснить, указывают ли две ссылки на один и тот же объект, сравнивают их с помощью операторов == и !=. Метод equals же предназначен для сравнения значений.

public int hashCode()

Возвращает хеш-код для данного объекта. Каждому объекту может быть присвоен некоторый хеш-код, используемый при работе с хеш-таблицами. По умолчанию возвращается значение, которое является уникальным для каждого объекта. Оно используется при сохранении объектов в таблицах Hashtable.

protected Object clone() throws CloneNotSupportedException

Возвращает дубликат объекта. Дубликатом называется новый объект, являющийся копией объекта, для которого вызывался метод clone.

public final Class getClass()

Возвращает объект типа Class, который соответствует классу данного объекта. Во время выполнения программы на Java можно получить информацию о классе в виде объекта Class, возвращаемого методом getClass.

protected void finalize() throws Throwable

Завершающие операции с объектом, осуществляемые во время сборки мусора. Неиспользуемые объекты Java автоматически уничтожаются сборщиком мусора, который работает в фоновом режиме и следит за ссылками на объекты. Когда ссылок на объект больше не остается, появляется возможность убрать его из кучи, где он временно хранился, хотя само удаление может быть отложено до более подходящего момента.

Методы hashCode и equals должны переопределяться, если нужно ввести новую концепцию равенства объектов, отличающуюся от принятой в классе Object. По умолчанию считается, что два различных объекта не равны между собой, а их хеш-коды не должны совпадать. Если ваш класс вводит концепцию равенства, при которой два различных объекта могут считаться равными, метод hashCode должен возвращать для них одинаковые значения хеш-кода.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]