الكائن هو الفئة الأصل لجميع الفئات ، وأي فئة ترث كائن بشكل افتراضي. ما هي الطرق التي تنفذها فئة الكائن؟
1. طريقة استنساخ
طريقة الحماية لتنفيذ نسخ الضحلة للكائنات. لا يمكن استدعاء هذه الطريقة إلا من خلال تنفيذ الواجهة المستنسخة ، وإلا سيتم طرح استثناء clonenotsupportedException.
2. طريقة getClass
الطريقة النهائية ، الحصول على نوع وقت التشغيل.
3. طريقة tostring
يتم استخدام هذه الطريقة بشكل متكرر بشكل عام ولديه تجاوز الفئات الفرعية بشكل عام.
4. الانتهاء من الطريقة
يتم استخدام هذه الطريقة لتحرير الموارد. لأنه من المستحيل تحديد متى يتم استدعاء الطريقة ، نادراً ما يتم استخدامها.
5. تساوي الطريقة
هذه الطريقة هي طريقة مهمة للغاية. عموما يساوي و == مختلف ، ولكن في الكائن الاثنين متماثلان. تحتاج الفئات الفرعية عمومًا إلى إعادة كتابة هذه الطريقة.
6. طريقة هش كود
يتم استخدام هذه الطريقة للبحث التجزوي. إذا تم إعادة كتابة طريقة متساوية ، فإن طريقة hashcode هي إعادة كتابة بشكل عام. يتم استخدام هذه الطريقة في بعض المجموعات مع وظائف التجزئة.
بشكل عام ، OBJ1.equals (OBJ2) == يجب الوفاء بالـ TRUE. يمكن تقديم OBJ1.Hash-Code () == OBJ2.HashCode () ، ولكن لا يرضي Hashcode المتساوي بالضرورة. ومع ذلك ، من أجل تحسين الكفاءة ، يجب أن تظل الشرطين أعلاه قريبة من المكافئ.
7. طريقة الانتظار
طريقة الانتظار هي جعل الخيط الحالي ينتظر قفل الكائن. يجب أن يكون مؤشر الترابط الحالي هو مالك الكائن ، أي قفل الكائن. تنتظر طريقة الانتظار () حتى يتم الحصول على القفل أو مقاطعة. انتظر (LongtimtimeOut) يعين فاصل زمني مهلة ويعود إذا لم يتم الحصول على قفل خلال الوقت المحدد.
بعد استدعاء هذه الطريقة ، يذهب الخيط الحالي إلى النوم حتى يحدث الحدث التالي.
(1) ترابط أخرى تستدعي طريقة إخطار الكائن.
(2) ترابط أخرى تستدعي طريقة إخطار الكائن.
(3) ترابط آخر استدعاء المقاطعة لمقاطعة الخيط.
(4) وصل الفاصل الزمني.
في هذا الوقت ، يمكن جدولة الموضوع. إذا تمت مقاطعة ذلك ، فسيتم إلقاء مقاطع.
8. إخطار الطريقة
هذه الطريقة تستيقظ مؤشر ترابط في انتظار الكائن.
9. طريقة الإخطار
هذه الطريقة تستيقظ جميع المواضيع تنتظر على الكائن.
-هدف-
theroot ClassObjective للتصنيف Archy.Every ClassShasObjectas Superclass.AllObjects ، بما في ذلك المصفوف
-توضيح-
فئة الكائن هي الفئة الأم التي ورثتها جميع الكائنات في Java ، وحتى صفيف يرث الفئة الأم (يمكن فهمها على أنها الفئة الأصلية ، سلف جميع الفئات. قد ترغب في السؤال: هل الدرجة الأولى كتبها كائن جيمس؟).
جميع الفئات ترث فئة الكائن ضمنيًا ، لذلك لا يمكن رؤيتها.
-هدف-
مُنشئ افتراضي
―clone-
―equals -
يشير إلى المصباح.
theequalsmethodimmplions sanequalence onnon-nullobjectreferences:-من —
يقارن مساواة كائن الفئة الأصلي الإشارات إلى الكائنات غير الفارغة من متغيرين.
رمز المصدر:
منطقية عامة تساوي (كائن OBJ) {return (this == obj) ؛ }من خلال رمز المصدر ، يمكننا أن نرى أن الفئة الأصلية متساوية في الواقع تعادل "==".
-
―getClass-
―hashcode-
inthejava لغة البرمجة ، everyclassimplicityoRictlyProvideShashCode () ، والتي هضم مثال theclassintoasinglehashvalue foruseinclustering.ithispropertyisimortant لأداء hashtablesandotherdatuctures thatStoreObjectSgroups ("الجرافات") على مقرها ircomomputehashvalues.technically ، إنغافا ، hashcode () بواسطة) بواسطة) defaultisanativemethod ، المعنى ، ithasthemodifier'native '، isitisimplementeddirectleectlyinthenativeCodeinthejvm.
المصدر: ويكيبيديا
كل فئة في Java تنفذ طريقة HashCode للكائن ضمنيًا أو صريحًا.
لتلخيص مع Google والشخصية الرسمية ، لماذا يكون للمؤلف هش في الفصل الأصلي؟
①. تحسين تخزين كائنات الفئة لتسهيل البحث عن كائنات الفئة.
②. استخدم مع متساوٍ.
ملاحظة: تقول العديد من المدونات أن طريقة HashCode تُرجع عنوان التخزين الفعلي أو عنوان التخزين المنطقي للفئة. هذا البيان خاطئ. وفقًا للبيان الرسمي ، ترتبط القيمة 32 بت المرتجعة فقط بموقع تخزين كائن الفئة.
― notify-
― notifyall-
―tostring-
تتحول طريقة toString لكائن الفئة إلى الأمام التي تتكون من اسم الفصل ، و signcharcher`@"، والتمثيل العشري السداسي غير الموقّع لرمز التجزئة للكائن.
getClass (). getName ()+'@'+integer.tohexstring (hashcode ())
رمز المصدر:
السلسلة العامة toString () {return getClass (). getName () + "@" + integer.toHexString (hashcode ()) ؛ }إرجاع قيمة التجزئة في اسم فئة التنسيق +@ + من الفصل.
-انتظر-
اللمسات الأخيرة ()
لخص
ما سبق هو المحتوى الكامل لهذه المقالة حول java.lang.object قراءة رمز مصدر Java. آمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!