
“สวัสดี อามีโก้!”
"ตอนนี้ถึงเวลาสำหรับกิจกรรมหลักแล้ว เราจะทำความคุ้นเคยกับคลาส Class และสัมผัสที่ Reflection
อย่างที่คุณคงรู้อยู่แล้วว่าทุกอย่างใน Java นั้นเป็นออบเจกต์ และออบเจ็กต์ต้องการอะไร แต่ละออบเจ็กต์มีหน้าที่อะไร มันเกี่ยวกับอะไร"
"ห้องเรียน!"
"ถูกต้อง! ทำได้ดี แต่ละอ็อบเจกต์มีคลาส แต่การกลับไปที่อ็อบเจกต์... อ็อบเจกต์บางออบเจกต์มีเอนทิตีทั้งหมด ในขณะที่อ็อบเจกต์อื่นๆ ก็ช่วยจัดการมัน"
"ประเภทหลังนี้รวมถึงFileOutputStreamและThreadเมื่อคุณสร้าง ออบเจกต์ เธรดเธรดใหม่จะไม่ถูกสร้าง เธรดถูกสร้างขึ้นโดยเครื่องเสมือน Java หลังจากเรียกใช้เมธอด start() อ็อบเจ็กต์นี้ช่วยจัดการกระบวนการ"
"เหมือนกันกับFileOutputStream : ไฟล์ถูกจัดเก็บไว้ในดิสก์ และ OS จะจัดการที่เก็บข้อมูลและการเข้าถึง แต่เราสามารถโต้ตอบกับมันผ่านวัตถุไฟล์ได้อีกครั้งด้วยความช่วยเหลือของเครื่องเสมือน Java"
“ใช่ ฉันเข้าใจแล้ว”
"จึงมีคลาสพิเศษที่เรียกว่าคลาสสำหรับการโต้ตอบกับคลาส"
"เดาได้ไม่ยากเลย"
"ใช่ ทุกครั้งที่เครื่องเสมือน Java โหลดคลาสใหม่ลงในหน่วยความจำ มันจะสร้างวัตถุคลาส ซึ่งคุณสามารถใช้เพื่อรับข้อมูลเฉพาะเกี่ยวกับคลาสที่โหลดได้"
"แต่ละคลาสและออบเจกต์เชื่อมโยงกับ « ออบเจ็กต์คลาส »"
ตัวอย่าง | คำอธิบาย |
---|---|
|
รับวัตถุคลาสของคลาสจำนวนเต็ม |
|
รับวัตถุ Class ของคลาส int |
|
รับวัตถุคลาสของวัตถุสตริง |
|
รับวัตถุคลาสของวัตถุวัตถุ |
"ว้าว! น่าสนใจจัง!"
"คุณจำได้ไหมว่า word classเป็นคีย์เวิร์ดในภาษา Java และไม่สามารถใช้เป็นชื่อตัวแปรได้"
“อ๋อ ครับ ผมรู้แล้ว ผมลืมไปเลย”
"คุณเคยใช้วัตถุคลาสที่ไหนสักแห่งแล้วหรือยัง"
"ใช่ เราใช้มันเมื่อเราเขียนการนำวิธีการเท่ากับไปใช้ของเราเอง"
"ใช่ คุณสามารถใช้เมธอด getClass() เพื่อทดสอบว่าออบเจกต์มีคลาสเดียวกันหรือไม่"
"แล้วคุณจะทำอะไรกับวัตถุนี้ได้บ้าง"
"อืม หลายอย่าง:"
รหัสจาวา | คำอธิบาย |
---|---|
|
รับชื่อคลาส |
|
รับคลาสตามชื่อ |
|
เปรียบเทียบคลาสของวัตถุ |
"น่าสนใจ แต่ไม่เจ๋งเท่าที่ฉันคิด"
"คุณอยากให้มันดูเท่ไหม มีรีเฟลกชัน ด้วย รีเฟลกชันเจ๋งมาก"
“ เงาสะท้อน คืออะไร ”
" การสะท้อนกลับเป็นความสามารถของคลาสในการรับข้อมูลเกี่ยวกับตัวมันเอง Java มีคลาสพิเศษ: FieldและMethodซึ่งคล้ายกับ คลาส คลาสสำหรับคลาสต่างๆ เช่นเดียวกับที่ ออบเจกต์ คลาสช่วยให้คุณได้รับข้อมูลเกี่ยวกับคลาส ออบเจ็กต์ฟิลด์จะให้ข้อมูลเกี่ยวกับฟิลด์ และวัตถุเมธอดให้ข้อมูลเกี่ยวกับเมธอด และดูว่าคุณสามารถทำอะไรกับเมธอดได้บ้าง:"
รหัสจาวา | คำอธิบาย |
---|---|
|
รับรายการวัตถุคลาสสำหรับอินเทอร์เฟซของคลาสรายการ |
|
รับวัตถุคลาสของคลาสแม่ของคลาสสตริง |
|
รับรายการเมธอดของคลาส List |
|
สร้างสตริงใหม่ |
|
รับเมธอดความยาวของคลาส String และเรียกใช้บน String s |
"ว้าว! ตอนนี้มันเจ๋งมาก!"
GO TO FULL VERSION