Ich spiele gerade mit Introspektion und Anmerkungen in Java 1.5. Sie haben eine übergeordnete abstrakte Klasse AbstractClass . Die geerbten Klassen können Attribute (vom Typ ChildClass ) haben, die mit einer benutzerdefinierten @ChildAttribute -Anmerkung versehen sind.
Ich wollte eine generische Methode schreiben, die alle @ChildAttribute Attribute einer Instanz auflistet.
Hier ist mein Code soweit.
Die Elternklasse:
%Vor%Eine Testimplementierung mit einigen untergeordneten Attributen
%Vor%Der Test selbst:
%Vor%Ich erhalte den folgenden Fehler:
%Vor%Ich habe mir gedacht, dass der Introspektionszugriff sich nicht um Modifikatoren kümmerte und sogar private Mitglieder lesen / schreiben konnte. Es scheint, dass dies nicht der Fall ist.
Wie kann ich auf die Werte dieser Attribute zugreifen?
Vielen Dank im Voraus für Ihre Hilfe,
Raphael
Versuchen Sie field.setAccessible(true)
, bevor Sie field.get(this)
aufrufen. Standardmäßig werden Modifikatoren berücksichtigt, die jedoch deaktiviert werden können.
Tags und Links java introspection java-5