Junior — Middle
Can you give an example of a situation where reflection mechanism is used in programming?
sobes.tech AI
Answer from AI
Reflection in programming allows a program to examine and modify its structure at runtime. In Java, reflection is often used for dynamic access to classes, methods, and fields.
Example scenario:
Suppose you have a framework or library that needs to work with different classes whose names are only known at runtime (e.g., loaded from configuration). Reflection can be used to:
- Create an instance of a class by name
- Call methods without direct reference in code
- Get and set field values
Class<?> clazz = Class.forName("com.example.MyClass");
Object instance = clazz.getDeclaredConstructor().newInstance();
Method method = clazz.getMethod("myMethod");
method.invoke(instance);
This is useful in ORM, testing frameworks, DI containers, and plugin systems where classes and methods need to be manipulated dynamically.