Junior — Middle
Leg uit hoe het reflectiemechanisme in Java werkt en wat de belangrijkste toepassingen zijn
sobes.tech AI
Antwoord van AI
Reflectie in Java is een mechanisme waarmee een programma tijdens de uitvoering informatie kan verkrijgen over klassen, methoden, velden en constructors, en ook methoden dynamisch kan aanroepen en veldwaarden kan wijzigen.
Belangrijkste toepassingen van reflectie:
- Frameworks en bibliotheken (bijvoorbeeld Spring) gebruiken reflectie voor dependency injection, objectcreatie en het aanroepen van methoden zonder expliciete kennis van de klassen tijdens compilatie.
- Serialisatie en deserialisatie van objecten.
- Testen (bijvoorbeeld JUnit) voor het aanroepen van testmethoden.
- Hulpmiddelen voor code-analyse en debugging.
Voorbeeld van het gebruik van reflectie om een methode aan te roepen:
Class<?> clazz = Class.forName("com.example.MyClass");
Object obj = clazz.getDeclaredConstructor().newInstance();
Method method = clazz.getMethod("myMethod", String.class);
method.invoke(obj, "hallo");
Reflectie is krachtig, maar het gebruik ervan kan de prestaties en veiligheid beïnvloeden, dus moet bewust worden toegepast.