Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


4.16

Das Reflection-API



Das Reflection-API dient dazu, die Bestandteile von Klassen (Datenelemente, Konstruktoren und Methoden) dynamisch zur Laufzeit zu analysieren und zu benutzen. Es gestattet somit, in einem Java-Programm Klassen und Interfaces zu benutzen, die zum Zeitpunkt des Kompilierens noch nicht bekannt sind. Das Reflection-API wird unter anderem in folgenden Fällen eingesetzt: Allgemeiner kann man sagen, dass der Einsatz des Reflection-API immer dann erforderlich ist, wenn zur Laufzeit Klassen eingebunden werden sollen, Für den dynamischen Zugriff auf die Klassenbestandteile definiert das Reflection-API die Klassen Constructor, Method und Field. Jede dieser Klassen repräsentiert einen Klassenbestandteil der entsprechenden Art und verfügt über Methoden zum Aufrufen (Constructor und Method) bzw. zum Setzen und Auslesen (Field). Exemplare dieser Klassen werden nicht direkt erzeugt, sondern mit den Methoden getConstructor(), getMethod() und getField() der Klasse Class. Es muss also zunächst immer das Class-Objekt für die Klasse ermittelt werden, auf deren Bestandteile dynamisch zugegriffen werden soll.

Auch wenn das Reflection-API ein großes Maß an Flexibilität mit sich bringt, sollte man sie nur dort einsetzen, wo es wirklich erforderlich ist. Denn dadurch bedingt, dass das Erzeugen von Exemplaren und die Aufrufe von Methoden völlig dynamisch erfolgen, kann der Compiler keine der sonst üblichen Prüfungen auf korrekte Datentypen durchführen. Das gleiche gilt auch für Checks, ob geprüfte Exceptions korrekt behandelt werden. Daher sollte man stets bestrebt sein, den Einsatz des Reflection-API auf das notwendige Maß zu beschränken, damit bereits der Compiler die Typsicherheit und die ordnungsgemäße Handhabung von Exceptions gewährleisten kann.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.