انعكاس جافا
آلية انعكاس JAVA هي أنه في حالة التشغيل لأي فئة، يمكنك معرفة جميع خصائص وأساليب هذه الفئة لأي كائن، ويمكنك استدعاء أي من أساليبه وخصائصه واستدعاء هذه الوظيفة ديناميكيًا؛ تسمى طريقة الكائن آلية الانعكاس للغة Java.
انسخ رمز الكود كما يلي:
الحزمة C_20130313؛
import java.lang.reflect.Method;
مستخدم الطبقة
{
اسم سلسلة خاصة؛
المستخدم العام (){}
المستخدم العام (اسم السلسلة)
{
this.name=name;
}
قول الفراغ العام () // طريقة بدون معلمات
{
System.out.println("مرحبًا بالجميع، اسمي "+name+"!");
}
يقول الفراغ العام (سلسلة str) // الطريقة مع المعلمات
{
System.out.println("مرحبًا بالجميع، اسمي "+name+"! "+str+"، أنا طريقة تحتوي على معلمات!");
}
}
/**
* @ المؤلف LXA
*أبسط مثال على التأمل
*/
انعكاس الطبقة العامة
{
يلقي الفراغ الرئيسي العام (String[] args) استثناءً
{
Class c=Class.forName("C_20130313_reflection.User");// ابحث عن الفصل المقابل من خلال الانعكاس
الطريقة m1=c.getMethod("say");// ابحث عن الطريقة المسماة say بدون معلمات
الطريقة m2=c.getMethod("say",String.class);// ابحث عن طريقة تسمى say مع معلمة نوع السلسلة
m1.invoc(c.newInstance());// لاحظ أن newInstance() يستدعي المُنشئ بدون معلمات! ! !
m2.invoc(new User("Liu Xian'an"),"Haha");// إنشاء كائن من خلال طريقة إنشاء ذات معلمات
}
}