Объект - это родительский класс всех классов, а любой класс наследует объект по умолчанию. Какие методы реализует класс объекта?
1. Клон -метод
Метод защиты для реализации мелкого копирования объектов. Этот метод может быть вызван только путем реализации клонируемого интерфейса, в противном случае будет брошено исключение ClonenotSupportedException.
2. Метод GetClass
Окончательный метод, получите тип времени выполнения.
3. Метод ToString
Этот метод используется чаще и обычно имеет переопределение подклассов.
4. Завершите метод
Этот метод используется для освобождения ресурсов. Поскольку невозможно определить, когда называется метод, он редко используется.
5. равняется методу
Этот метод является очень важным методом. Как правило, равны и == различны, но в объекте они одинаковы. Подклассы обычно должны переписать этот метод.
6. Hashcode Method
Этот метод используется для поиска хэша. Если метод equals переписывается, метод хэшкода обычно переписывается. Этот метод используется в некоторых коллекциях с функциями хеширования.
Как правило, obj1.equals (obj2) == true должен быть выполнен. Obj1.hash-code () == obj2.hashcode () может быть введен, но равный хэшкод не обязательно удовлетворяет равным. Однако для повышения эффективности, вышеупомянутые два условия должны быть близки к эквиваленту.
7. Метод ожидания
Метод ожидания состоит в том, чтобы дать текущий поток ждать блокировки объекта. Текущий поток должен быть владельцем объекта, то есть блокировкой объекта. Метод wait () ожидает, пока блокировка не будет получена или не будет прервана. Подождите (давно) устанавливает интервал тайм -аута и возвращает, если в течение указанного времени не получается блокировка.
После вызова этого метода текущий поток ложится спать до тех пор, пока не произойдет следующее событие.
(1) Другие потоки вызывают метод уведомления объекта.
(2) Другие потоки вызывают метод уведомления объекта.
(3) Другие потоки вызывают прерывание, чтобы прервать поток.
(4) Поступил интервал времени.
В настоящее время поток может быть запланирована. Если это прервано, будет брошено прерывавшее.
8. Уведомить метод
Этот метод разбудит поток, ожидающий объекта.
9. Уведомление о методе
Этот метод разбудит все потоки, ожидающие объекта.
-Объект-
ClassObjective Theroot для классификации Archy.e Every ClassShaSobjectasa superclass.allobjects, включая массивы, реализуйте Themethod для этого класса.
-Объяснение-
Класс объектов - это родительский класс, унаследованный всеми объектами в Java, и даже массив наследует родительский класс (его можно понимать как оригинальный класс, предок всех классов. Вы можете спросить: первый класс написан Джеймсом объектом?).
Все классы неявно наследуют класс объекта, поэтому их нельзя увидеть.
-Объект-
По умолчанию конструктор
―Clone -
Equals -
Указывает whethersomeotherObjectis "Evalto" Thisone.
Theequalsmethodimmplions sanequivalence onnon-nullobjectreferences:
Равенство исходного объекта класса сравнивается ссылки на непустые объекты двух переменных.
Исходный код:
public boolean equals (Object obj) {return (this == obj); }Через исходный код мы видим, что исходный класс равен на самом деле эквивалентен «==».
―Finalize -
―Class -
―Cashcode -
IntheJava programming language,everyclassimplicitlyorexplicitlyprovideshashCode() method, which digeststhedatastoredinan instance of theclassintoasinglehashvalue(a32-bitsignedinteger).Thishashisusedbyothercode whenstoringormanipulating theinstancethevaluesareintendedtobeevenlydistributedforvariedinputs ForuseInclustering. Defaultisanativemethod, значение, Ithasthemodifier'native ', AsitisImplementedDirectlyinthenativeCodeinthejvm.
Источник: Википедия
Каждый класс в Java реализует метод объекта HashCode неявно или явно.
Подводя итог с Google и официальным личным, почему у автора есть хэшкод в оригинальном классе?
①. Оптимизация хранения объектов класса для облегчения поиска объектов класса.
②. Использовать с равными.
Примечание. Многие блоги говорят, что метод хэшкода возвращает адрес физического хранения или логический адрес хранения класса. Это утверждение неверно. Согласно официальному заявлению, возвращенное 32-разрядное значение связано только с местоположением хранения объекта класса.
―Notify -
―Notifyall―
―Pstring -
Метод ToString для объекта класса поворачивается вперед, состоящий из имени класса, Theat-Signcharacter`@', и без знакового десятичного представления геста
getClass (). getName ()+'@'+integer.tohexstring (hashcode ())
Исходный код:
public String toString () {return getClass (). getName () + "@" + integer.tohexstring (hashcode ()); }Возвращает значение хэша в имя класса формата +@ + из класса.
-ждать-
Завершите ()
Суммировать
Выше приведено все содержание этой статьи о Java.lang.object Reading исходного кода Java. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!