Object เป็นคลาสหลักของคลาสทั้งหมดและคลาสใด ๆ ที่สืบทอดวัตถุโดยค่าเริ่มต้น คลาส Object Class ใช้วิธีใด
1. วิธีการโคลน
วิธีการป้องกันเพื่อดำเนินการคัดลอกวัตถุตื้น วิธีนี้สามารถเรียกได้โดยการใช้อินเทอร์เฟซ cloneable มิฉะนั้นจะมีข้อยกเว้น clonenotsupportedException
2. วิธี getClass
วิธีสุดท้ายรับประเภทรันไทม์
3. วิธี ToString
วิธีนี้ใช้บ่อยขึ้นและโดยทั่วไปมีการแทนที่คลาสย่อย
4. วิธีการเสร็จสิ้น
วิธีนี้ใช้เพื่อเพิ่มทรัพยากร เนื่องจากเป็นไปไม่ได้ที่จะกำหนดว่าจะใช้วิธีการเมื่อใดจึงไม่ค่อยมีการใช้
5. วิธีการเท่ากับ
วิธีนี้เป็นวิธีที่สำคัญมาก โดยทั่วไปเท่ากับและ == แตกต่างกัน แต่ในวัตถุทั้งสองเหมือนกัน คลาสย่อยโดยทั่วไปจำเป็นต้องเขียนวิธีนี้ใหม่
6. วิธี HashCode
วิธีนี้ใช้สำหรับการค้นหาแฮช หากวิธี Equals ถูกเขียนใหม่วิธีการ HashCode โดยทั่วไปจะเขียนใหม่ วิธีนี้ใช้ในคอลเลกชันบางอย่างที่มีฟังก์ชั่นแฮช
โดยทั่วไปต้องพบกับ OBJ1.Equals (OBJ2) == True OBJ1.HASH-CODE () == OBJ2.HASHCODE () สามารถแนะนำได้ แต่ HashCode ที่เท่าเทียมกันไม่จำเป็นต้องเป็นไปตามเท่ากับ อย่างไรก็ตามเพื่อปรับปรุงประสิทธิภาพควรมีสองเงื่อนไขข้างต้นใกล้เคียงกับเทียบเท่า
7. วิธีการรอ
วิธีการรอคือการทำให้เธรดปัจจุบันรอล็อควัตถุ เธรดปัจจุบันจะต้องเป็นเจ้าของวัตถุนั่นคือล็อคของวัตถุ วิธีการรอ () รอจนกว่าจะได้รับการล็อคหรือถูกขัดจังหวะ รอ (LongtimeOut) ตั้งค่าช่วงเวลาหมดเวลาและส่งคืนหากไม่ได้รับการล็อคภายในเวลาที่กำหนด
หลังจากเรียกใช้วิธีนี้เธรดปัจจุบันจะเข้าสู่การนอนหลับจนกว่าเหตุการณ์ต่อไปนี้จะเกิดขึ้น
(1) เธรดอื่น ๆ เรียกวิธีการแจ้งเตือนของวัตถุ
(2) เธรดอื่น ๆ เรียกวิธีการแจ้งเตือนของวัตถุ
(3) เธรดอื่น ๆ เรียกอินเตอร์รัปต์เพื่อขัดจังหวะเธรด
(4) ช่วงเวลามาถึงแล้ว
ในเวลานี้สามารถกำหนดเธรดได้ หากถูกขัดจังหวะการขัดจังหวะจะถูกโยนลงไป
8. วิธีการแจ้งเตือน
วิธีนี้จะปลุกเธรดที่รอวัตถุ
9. วิธีการแจ้งเตือน
วิธีนี้จะปลุกเธรดทั้งหมดที่รออยู่บนวัตถุ
-วัตถุ-
classobjective theroot สำหรับการจำแนกประเภท archy.arhery classshasobjectasa superclass.allobjects รวมถึงอาร์เรย์, ใช้วิธีการสำหรับชั้นเรียนนี้-Fromoracle
-คำอธิบาย-
คลาสวัตถุคือคลาสพาเรนต์ที่สืบทอดมาจากวัตถุทั้งหมดใน Java และแม้แต่อาร์เรย์ที่สืบทอดคลาสแม่ (สามารถเข้าใจได้ว่าเป็นคลาสดั้งเดิมบรรพบุรุษของทุกชั้นเรียนคุณอาจต้องการถาม: คลาสแรกที่เขียนโดยเจมส์เป็นวัตถุหรือไม่)
คลาสทั้งหมดสืบทอดคลาสวัตถุโดยปริยายดังนั้นจึงไม่สามารถมองเห็นได้
-วัตถุ-
ตัวสร้างเริ่มต้น
- โคลน -
- เท่าเทียมกัน -
ระบุว่า whethersomeotheroBjectis "เท่ากับ" นี้
TheQualsMethodimmplions Sanequivalence Onnon-Nullobjectreferences:-จากผลงาน-
เท่ากับของวัตถุคลาสดั้งเดิมเปรียบเทียบการอ้างอิงกับวัตถุที่ไม่ว่างเปล่าของตัวแปรสองตัว
ซอร์สโค้ด:
บูลีนสาธารณะเท่ากับ (Object obj) {return (this == obj); -ผ่านซอร์สโค้ดเราจะเห็นว่าคลาสดั้งเดิมเท่ากับจริง ๆ แล้วเทียบเท่ากับ "=="
- รอบสุดท้าย -
- getClass -
- hashcode -
ภาษาการเขียนโปรแกรม inthejava วิธีการทุก owntrassimentlylegrexplantlylyprovideshashcode () ซึ่ง Digestthedatastoredinan ตัวอย่างของ TheClassintoasinglehashvalue (A32-BitsignedInteger) foruseinclustering thispropertyisimportant ต่อประสิทธิภาพของ hashtablesandotherdatructures ที่ StoreObjectsgroups ("buckets") จากการใช้งาน defaultisanativeMethod, ความหมาย, ithasthemodifier'native ', asitisimplementeddirectlyinthenativecodeinthejvm
ที่มา: Wikipedia
แต่ละคลาสใน Java ใช้วิธี HashCode ของวัตถุโดยปริยายหรือโดยชัดแจ้ง
เพื่อสรุปกับ Google และส่วนบุคคลอย่างเป็นทางการทำไมผู้เขียนถึงมี hashcode ในชั้นเรียนดั้งเดิม?
①. การเพิ่มประสิทธิภาพการจัดเก็บของวัตถุคลาสเพื่ออำนวยความสะดวกในการค้นหาวัตถุคลาส
②. ใช้กับเท่ากับ
หมายเหตุ: บล็อกจำนวนมากบอกว่าวิธีการ HashCode ส่งคืนที่อยู่ที่เก็บข้อมูลทางกายภาพหรือที่อยู่ที่เก็บโลจิคัลของคลาส คำสั่งนี้ผิด ตามคำแถลงอย่างเป็นทางการค่า 32 บิตที่ส่งคืนนั้นเกี่ยวข้องกับตำแหน่งที่เก็บข้อมูลของวัตถุคลาสเท่านั้น
-แจ้ง-
- แจ้งเตือน -
― tostring -
วิธีการ ToString สำหรับวัตถุคลาสจะเปิดไปข้างหน้าประกอบด้วยชื่อของคลาส, Theat-signcharacter`@'และการแสดงทศนิยม Hexa ที่ไม่ได้ลงชื่อของรหัสแฮชของ Object.inotherwords วิธีนี้จะกลับมาเท่ากับค่าของ:
getClass (). getName ()+'@'+integer.toHexstring (hashCode ())
ซอร์สโค้ด:
สตริงสาธารณะ toString () {return getClass (). getName () + "@" + integer.toHexstring (hashCode ()); -ส่งคืนค่าแฮชในชื่อคลาสรูปแบบ +@ + ของคลาส
-รอ-
เสร็จสิ้น ()
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับ java.lang.Object การอ่านซอร์สโค้ด Java ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!