Reflection प्रोग्रामला रनटाइमवर क्लास, मेथड आणि फील्ड तपासणे आणि हाताळणे करायला देते — कंपाइल वेळी अज्ञात असलेले देखील। Annotations कोडला मेटाडेटा जोडतात जे साधन आणि फ्रेमवर्क (बहुतेक reflection द्वारे) वाचतात आचरण चालवण्यासाठी। एकत्रितपणे ते Java फ्रेमवर्कचे बहुतेक "जादू" (Spring, JPA, JUnit) शक्तिशाली बनवतात।
Reflection — रनटाइम तपासणी आणि आवाहन
Class<?> clazz = Class.forName();
(Field field : clazz.getDeclaredFields()) {
System.out.println(field.getName() + + field.getType());
}
(Method method : clazz.getDeclaredMethods()) {
System.out.println(method.getName());
}
clazz.getDeclaredConstructor().newInstance();
clazz.getMethod(, String.class);
m.invoke(instance, );
clazz.getDeclaredField();
f.setAccessible();
