Programmieren mit Java IIhttp://sol.cs.hm.edu/4129Inhaltsverzeichnis
8. Reflection
8.2 Analyse der Codestruktur
Getter liefern Bausteine einer Klassendefinition
Die weiter vorne (Seite ) angesprochenen Klassen repräsentieren verschiedene Bausteine eines Java-Programms. Class und Package sind als einzige dieser Klassen im Package java.lang definiert. Alle anderen sind Teil des Packages java.lang.reflect. Die Möglichkeiten zum Zugriff auf Typobjekte wurden bereits gezeigt (Seite ).
Grundsätzliche Auskunft über die Art des Typs, für den ein Class-Objekt steht, geben die folgenden Prädikate. Die Namen sprechen für sich:
boolean isPrimitive()

boolean isArray()

boolean isEnum()

boolean isInterface()

boolean isAnonymousClass()

boolean isLocalClass()

boolean isMemberClass()
Start mit einem Typobjekt
Ausgehend vom Class-Objekt lassen sich damit sukzessive Einzelheiten einer Typdefinition ergründen:
Eigenschaften von Arrays und Enums
Speziell bei Array- und Aufzählungstypen sind darüber hinaus interessant:
Class<?> getComponentType()
Der Elementtyp bei einem Array oder null ansonsten.
T[] getEnumConstants()
Elemente bei einem Aufzählungstyp oder null ansonsten.
8.2.1 Modifier 8.2.2 Konstruktoren 8.2.3 Variablen 8.2.4 Methoden 8.2.5 Anwendung: UML-artige Skizze einer Klassendefinition