Reflection yana ba wa programa damar bincika da gyara classes, methods, da fields a lokacin aiki — har ma waɗanda ba a san su a lokacin daidaitawa. Annotations suna haɗa metadata ga code wanda kayan aiki da frameworks suka karanta (sau da yawa ta hanyar reflection) don gida halayen aiki. Tare suna sarrafa yawancin Java's framework "sihiri" (Spring, JPA, JUnit).
Reflection — bincika da kira a lokacin aiki
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();
