การสะท้อนของจาวา
กลไกการสะท้อนกลับของ JAVA คือในสถานะกำลังทำงานสำหรับคลาสใด ๆ คุณสามารถทราบคุณสมบัติและวิธีการทั้งหมดของคลาสนี้ได้ สำหรับวัตถุใด ๆ คุณสามารถเรียกวิธีการและคุณสมบัติใด ๆ ของมันได้; ของวิธีการของวัตถุเรียกว่ากลไกการสะท้อนของภาษาจาวา
คัดลอกรหัสรหัสดังต่อไปนี้:
แพ็คเกจ C_20130313;
นำเข้า java.lang.reflect.Method;
ผู้ใช้คลาส
-
ชื่อสตริงส่วนตัว
ผู้ใช้สาธารณะ(){}
ผู้ใช้สาธารณะ (ชื่อสตริง)
-
นี้.ชื่อ=ชื่อ;
-
โมฆะสาธารณะพูด()//วิธีการที่ไม่มีพารามิเตอร์
-
System.out.println("สวัสดีทุกคน ฉันชื่อ "+ชื่อ+"!);
-
โมฆะสาธารณะพูด (String str) // วิธีการพร้อมพารามิเตอร์
-
System.out.println("สวัสดีทุกคน ฉันชื่อ "+ชื่อ+"! "+str+" ฉันเป็นวิธีการที่มีพารามิเตอร์!");
-
-
-
* @ผู้เขียน LXA
* ตัวอย่างการไตร่ตรองที่ง่ายที่สุด
-
การสะท้อนชั้นเรียนสาธารณะ
-
โมฆะคงที่สาธารณะ main (String [] args) พ่นข้อยกเว้น
-
Class c=Class.forName("C_20130313_reflection.User");//ค้นหาคลาสที่เกี่ยวข้องผ่านการสะท้อนกลับ
Method m1=c.getMethod("say");//ค้นหาเมธอดที่ชื่อ say โดยไม่มีพารามิเตอร์
Method m2=c.getMethod("say",String.class);//ค้นหาเมธอดที่ชื่อ say ด้วยพารามิเตอร์ประเภท String
m1.inurge(c.newInstance());//โปรดทราบว่า newInstance() เรียกตัวสร้างแบบไม่มีพารามิเตอร์! - -
m2.inurge(ผู้ใช้ใหม่("Liu Xian'an"),"Haha");//สร้างอินสแตนซ์ของวัตถุด้วยวิธีการก่อสร้างแบบกำหนดพารามิเตอร์
-
-