title | tags |
---|---|
Object |
Java, Basic, Object, Classes, Clone |
Object clone()
- клонирует объект. Чтобы не было исключения CloneNotSupportedException необходимо имплементировать интерфейс маркер Cloneableboolean equals(Object object)
void finalize()
- вызывается перед сборкой мусораfinal Class<?> getClass()
- возвращает класс объекта во время выполненияint hashCode()
final void notify()
- возобновляет выполнение потока, ожидающего вызывающего объектаfinal void notifyAll()
final void wait()
- ожидает другого потока исполненияString toString()
equals порождает отношение эквивалентности. Оно обладает следующими свойствами:
- ++Рефлексивность++. Должно выполняться
x.equals(x) == true
дляx != null
; - ++Симметричность++. Должно выполняться
x.equals(y) == true
тогда и только тогда, когдаy.equals(x) == true
дляx != null && y != null
; - ++Транзитивность++. Если
x.equals(y) == true && y.equals(z) == true
, тоx.equals(z) == true
дляx != null && y != null && z != null
.
Должен быть имплементирован интерфейс Cloneable. В Object метод объявлен как protected, но в наследнике его можно расширить до public. Метод возвращает Object, поэтому его будет необходимо кастовать.
При клонировании конструктор класса не вызывается, вместо него вызывается метод clone.