класс Object

Get Started. It's Free
or sign up with your email address
класс Object by Mind Map: класс Object

1. public boolean equals(Object obj)

1.1. - определяет, являются ли объекты одинаковыми.

1.1.1. рефлексивность: для любой объектной ссылки x, вызов x.equals(x) возвращает true

1.1.2. симметричность: для любых объектных ссылок x и y, вызов x.equals(y) возвращает true тогда и только тогда, если вызов y.equals(x) возвращает true

1.1.3. транзитивность: для любых объектных ссылок x, y и z, если x.equals(y) возвращает true и y.equals(z) возвращает true, тогда вызов x.equals(z) должен вернуть true

1.1.4. непротиворечивость: для любых объектных ссылок x и y, многократные последовательные вызовы x.equals(y) возвращают одно и то же значение (либо всегда true либо всегда false)

1.1.5. для любой не равной null объектной ссылки x, вызов x.equals(null) должен вернуть значение false

2. public int hashCode()

2.1. - возвращает хеш-код для объекта. Хеш-код -это целое число, которое с очень большой вероятностью является уникальным для данного объекта.

2.1.1. в одном запуске программы, для одного объекта, при вызове метода hashCode(), должно возвращаться одно и то же int значение, если между этими вызовами НЕ были затронуты данные, используемые для проверки объектов на идентичность в методе equals().

2.1.2. если два объекта идентичны, то есть вызов метода equals(Object) возвращает true, тогда вызов метода hashCode() у каждого из этих двух объектов должен возвращать одно и то же значение

2.1.3. если два объекта различны, то есть вызов метода equals(Object) возвращает false, тогда различие их хеш-кодов желательно, но НЕ обязательно.

3. public String toString()

3.1. - возвращает строковое представление объекта.

3.1.1. В классах-наследниках этот метод может быть переопределен для получения более наглядного пользовательского представления объекта

4. wait(), notify(), notifyAll()

4.1. - эти методы используются для поддержки многопоточности.

4.1.1. Они определены с атрибутом final и НЕ могут быть переопределены в классах-наследниках.

5. protected void finalize() throws Throwable

5.1. - этот метод вызывается Java-машиной перед тем, как garbage collection очистит память, занимаемую объектом.

5.1.1. В классах- наследниках этот метод может быть переопределен для проведения действий по освобождению ресурсов

6. protected native Object clone() throws CloneNotSupportedException

6.1. - создает копию объекта.

6.1.1. Для того, что бы им можно было воспользоваться, объект должен реализовывать интерфейс Cloneable.

6.1.2. Реализован т.о., что будут скопированы только базовые типы и ссылки на объекты. Если же потребуется "глубокое " копирование, то нужно скопировать не только ссылки на объекты, но и создать копии объектов - в классах-наследниках метод clone() можно переопределить.

7. public final native Class getClass()

7.1. - возвращает объект типа Class, соответствующий классу объекта.