คลาสคลาสคือการใช้งานที่กำหนดคลาสเฉพาะในภาษา Java คำจำกัดความของคลาสรวมถึงตัวแปรสมาชิกวิธีการสมาชิกอินเตอร์เฟสที่ใช้โดยคลาสนี้และคลาสพาเรนต์ของคลาสนี้ วัตถุของคลาสคลาสใช้เพื่อแสดงคลาสและอินเทอร์เฟซในแอปพลิเคชัน Java ที่กำลังทำงานอยู่ในปัจจุบัน ตัวอย่างเช่น: แต่ละอาร์เรย์เป็นของวัตถุคลาสคลาสและอาร์เรย์ทั้งหมดที่มีประเภทองค์ประกอบเดียวกันและมิติแบ่งปันวัตถุคลาส ประเภท Java พื้นฐาน (บูลีน, ไบต์, ถ่าน, สั้น, int, ยาว, ลอยและสองเท่า) และประเภทโมฆะสามารถแสดงเป็นวัตถุคลาส
ตัวอย่างต่อไปนี้ใช้วัตถุคลาสเพื่อแสดงชื่อคลาสของวัตถุ:
เป็นโมฆะ printclassName (Object OBJ) {System.out.println ("คลาสของ" + obj + "คือ" + obj.getClass (). getName ()); -เราทุกคนรู้ว่าคลาส Java ทั้งหมดสืบทอดคลาสวัตถุ มีวิธีการในคลาสวัตถุ: getClass () วิธีนี้ใช้เพื่อรับการอ้างอิงไปยังคลาสของวัตถุที่ได้รับการสร้างอินสแตนซ์ การอ้างอิงนี้ชี้ไปที่วัตถุของชั้นเรียน (ฮิฮิมันค่อนข้างอึดอัดใจ) เราไม่สามารถสร้างวัตถุคลาส (ตัวสร้างส่วนตัว) และวัตถุของคลาสนี้ถูกสร้างขึ้นโดยอัตโนมัติโดย Java Virtual Machine เมื่อมีการเรียกคลาสต่างๆหรือสร้างโดยวิธีการกำหนดในคลาสโหลดเดอร์คลาส วัตถุที่เราสร้างจะมีฟิลด์เพื่อบันทึกตำแหน่งของวัตถุของคลาสคลาส ดังที่แสดงในรูปด้านล่าง:
เราสามารถปฏิบัติต่อวัตถุแต่ละคลาสเป็นพร็อกซีสำหรับหลายคลาส ยิ่งไปกว่านั้นในแต่ละวัตถุคลาสจะมีตัวโหลดคลาสที่บันทึกคลาสที่อ้างอิง หากฟิลด์นี้เป็นโมฆะก็หมายความว่าตัวโหลดของคลาสเป็นตัวโหลด bootstrap ด้วยเหตุผลเฉพาะให้ดูบทความ "กลไกการทำงานของ classloader" ที่ฉันแบ่งปันมาก่อน
เรารู้ว่ามีตัวโหลดหลายตัวใน Java และตัวโหลดแต่ละตัวสามารถโหลดหลายคลาสได้ตราบใดที่คุณได้รับวัตถุคลาสคลาสคุณสามารถใช้วิธี getClassLoader () เพื่อรับการอ้างอิงไปยังคลาสโหลดเดอร์
JVM เป็นวัตถุคลาสที่ไม่ซ้ำกับตัวจัดการแต่ละประเภท ดังนั้นเราสามารถใช้ตัวดำเนินการ biequal เพื่อเปรียบเทียบวัตถุ: a1.getClass () == a.class; สิ่งที่ควรส่งคืนนั้นเป็นจริง
forName (String className) และ forName (StringClassName, { *} boolean initialZe, *classloader *loader) *เมธอด
วิธีนี้ส่งคืนวัตถุคลาสที่สอดคล้องกันด้วยชื่อสตริงที่กำหนด ด้วยชื่อพา ธ แบบเต็มของคลาสหรืออินเทอร์เฟซวิธีนี้พยายามค้นหาโหลดและเชื่อมต่อคลาส หากประสบความสำเร็จให้ส่งคืนวัตถุของคลาสนี้ มิฉะนั้นให้โยนข้อยกเว้น ClassnotFoundException ตัวอย่างเช่นโค้ดตัวอย่างต่อไปนี้ส่งคืนตัวบ่งชี้คลาสที่เรียกใช้ชื่อ java.lang.thread classst = class.forName ("java.lang.thread"); วิธีนี้ต้องการการระบุตัวโหลดคลาส เมื่อใช้เมธอด forname ที่มีพารามิเตอร์สตริงเดียววัตถุคลาสจะเรียกตัวโหลดคลาสปัจจุบันโดยค่าเริ่มต้นเป็นตัวโหลดและตั้งค่าพารามิเตอร์ที่สองเป็น TRUE คำอธิบายพารามิเตอร์ที่สอง: ถ้าเป็นเท็จการเรียกใช้วิธีการ forname จะโหลดคลาสเฉพาะในตัวโหลดคลาสคำสั่งและไม่เริ่มต้นบล็อกคงที่ของคลาส บล็อกคงที่เรียกว่าเมื่อคลาสถูกสร้างอินสแตนซ์เป็นครั้งแรก เมื่อเป็นจริงบล็อกคงที่จะถูกเรียกเมื่อโหลด
getClassLoader ()
รับคลาสโหลดเดอร์สำหรับคลาสนี้
getComponentType ()
หากคลาสปัจจุบันแสดงถึงอาร์เรย์มันจะส่งคืนวัตถุคลาสที่แสดงส่วนประกอบของอาร์เรย์มิฉะนั้นจะส่งคืนค่า NULL
getConstructor (คลาส [])
ส่งคืนวัตถุเด็กสร้างตัวสร้างสาธารณะที่ระบุของคลาสที่แสดงโดยวัตถุคลาสปัจจุบัน
GetConstructors ()
ส่งคืนอาร์เรย์ของตัวสร้างสาธารณะทั้งหมด subobjects ของคลาสที่แสดงโดยวัตถุคลาสปัจจุบัน
getDeclaredConstructor (คลาส [])
ส่งคืน suboBject ตัวสร้างที่ระบุโดยคลาสที่แสดงโดยวัตถุคลาสปัจจุบัน
getDeclaredConstructors ()
ส่งคืนอาร์เรย์ของ Subobjects ตัวสร้างที่ระบุไว้ทั้งหมดของคลาสที่แสดงโดยวัตถุคลาสปัจจุบัน
getDeclaredField (สตริง)
ส่งคืนวัตถุโดเมนที่ระบุไว้สำหรับคลาสหรืออินเตอร์เฟสที่แสดงโดยวัตถุคลาสปัจจุบัน
getDeclaredFields ()
ส่งคืนอาร์เรย์ของวัตถุโดเมนที่ระบุทั้งหมดสำหรับคลาสหรืออินเตอร์เฟสที่แสดงโดยวัตถุคลาสปัจจุบัน
getDeclaredMethod (String, class [])
ส่งคืนวัตถุเมธอดที่ระบุไว้สำหรับคลาสหรืออินเตอร์เฟสที่ระบุซึ่งแสดงโดยวัตถุคลาสปัจจุบัน
getDeclaredMethods ()
ส่งคืนอาร์เรย์ของวิธีการทั้งหมดที่ระบุไว้สำหรับคลาสหรืออินเตอร์เฟสที่แสดงโดยวัตถุคลาส
getField (สตริง)
ส่งคืนวัตถุโดเมนสมาชิกสาธารณะที่ระบุของคลาสหรืออินเตอร์เฟสที่แสดงโดยวัตถุคลาสปัจจุบัน
getfields ()
ส่งคืนอาร์เรย์ของวัตถุโดเมนสาธารณะที่เข้าถึงได้สำหรับคลาสหรืออินเตอร์เฟสที่แสดงโดยวัตถุคลาสปัจจุบัน
getInterfaces ()
ส่งคืนอินเทอร์เฟซที่ใช้โดยคลาสที่แสดงโดยวัตถุปัจจุบันหรืออินเทอร์เฟซ
getMethod (สตริงคลาส [])
ส่งคืนวัตถุวิธีการสมาชิกสาธารณะที่ระบุของคลาสหรืออินเตอร์เฟสที่แสดงโดยวัตถุคลาสปัจจุบัน
getMethods ()
ส่งคืนอาร์เรย์ของวัตถุวิธีการสมาชิกสาธารณะทั้งหมดสำหรับคลาสหรืออินเตอร์เฟสที่แสดงโดยวัตถุคลาสปัจจุบันรวมถึงการประกาศและสืบทอดจากคลาสแม่
getModifiers ()
ส่งคืนรหัส Modifier ภาษา Java สำหรับคลาสหรืออินเทอร์เฟซ
getName ()
ส่งคืนสตริงชื่อพา ธ แบบเต็มของประเภท (คลาสอินเตอร์เฟสอาร์เรย์หรือประเภทฐาน) แสดงโดยวัตถุคลาส
getResource (สตริง)
ค้นหาทรัพยากรด้วยชื่อที่ระบุ
getResourceasstream (สตริง)
ค้นหาทรัพยากรที่มีชื่อที่กำหนด
getSigners ()
รับแท็กคลาส
getSuperclass ()
หากวัตถุนี้แสดงคลาสใด ๆ ยกเว้นวัตถุวัตถุคลาสแม่ของวัตถุนี้จะถูกส่งคืน
isarray ()
ส่งคืนจริงถ้าวัตถุคลาสแสดงถึงอาร์เรย์มิฉะนั้นจะส่งคืนเท็จ
isAssignable from (คลาส)
กำหนดว่าคลาสหรืออินเทอร์เฟซที่แสดงโดยวัตถุคลาสนั้นเหมือนกับคลาสหรืออินเตอร์เฟสที่แสดงโดยคลาสที่ระบุโดยพารามิเตอร์หรือเป็นคลาสแม่
isinstance (วัตถุ)
วิธีนี้เป็นวิธีการที่เทียบเท่าแบบไดนามิกเช่นการดำเนินการในภาษา Java
isInterface ()
กำหนดว่าวัตถุคลาสที่ระบุแสดงถึงประเภทอินเตอร์เฟสหรือไม่
isprimitive ()
กำหนดว่าวัตถุคลาสที่ระบุแสดงถึงประเภทฐาน Java หรือไม่
Newinstance ()
สร้างอินสแตนซ์ใหม่ของคลาส
TOSTRING ()
แปลงวัตถุเป็นสตริง
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการพูดคุยสั้น ๆ เกี่ยวกับชั้นเรียนใน Java และฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!