Cheers!
bastel jetzt schon den ganzen Tag rum - komm aber einfach nicht auf die Lösung meines Problems:
Ich habe einige verschiedene Klassen, die allesamt 3 gleiche Methoden besitzen welche sie von einer extra Klasse erben.
So weit so gut - nun erzeuge ich ein Objekt meiner Klasse "Mitarbeiter" in welcher wiederrum ein Objekt der Klasse
"Rolle" erzeugt wird ... immernoch alles kein Problem - bis jetzt:
An einer anderen Stelle in meinem Programm bin ich auf Reflection angewiesen um an die Inhalte einiger Variablen zu kommen -
funktioniert auch (fast) alles prima nur machen mir die 3 Methoden abgeleiteten Methoden sorgen. Warum? Ganz einfach:
Die Methode "getID" ist eine der abgeleitten Klassen und ist in meiner Klasse Mitarbeiter z.B. mit dem Wert 1 und in der Klasse Rolle
z.B. mit dem Wert 3 belegt. Durch den Invoke Befehl bekomme ich allerdings nur 2x den Wert von Mitarbeiter zurückgeliefert, also dachte ic hich könnte statt
einfach
oder dergleichen schreiben - dem war/ist abr nicht so!
Ich hoffe das war jetzt alles nicht zu :lol: - und ich hoffe das mir jemand erklären kann wie ich an die "Unterklasse" komme!
Gruß F4llen4ngel
bastel jetzt schon den ganzen Tag rum - komm aber einfach nicht auf die Lösung meines Problems:
Ich habe einige verschiedene Klassen, die allesamt 3 gleiche Methoden besitzen welche sie von einer extra Klasse erben.
So weit so gut - nun erzeuge ich ein Objekt meiner Klasse "Mitarbeiter" in welcher wiederrum ein Objekt der Klasse
"Rolle" erzeugt wird ... immernoch alles kein Problem - bis jetzt:
An einer anderen Stelle in meinem Programm bin ich auf Reflection angewiesen um an die Inhalte einiger Variablen zu kommen -
funktioniert auch (fast) alles prima nur machen mir die 3 Methoden abgeleiteten Methoden sorgen. Warum? Ganz einfach:
Code:
Method lTempMethod = lO.getClass().getMethod("getId",null);
System.out.println(lTempMethod.invoke(this,null));
Die Methode "getID" ist eine der abgeleitten Klassen und ist in meiner Klasse Mitarbeiter z.B. mit dem Wert 1 und in der Klasse Rolle
z.B. mit dem Wert 3 belegt. Durch den Invoke Befehl bekomme ich allerdings nur 2x den Wert von Mitarbeiter zurückgeliefert, also dachte ic hich könnte statt
Code:
System.out.println(lTempMethod.invoke(this,null));
Code:
System.out.println(lTempMethod.invoke(Rolle,null));
oder dergleichen schreiben - dem war/ist abr nicht so!
Ich hoffe das war jetzt alles nicht zu :lol: - und ich hoffe das mir jemand erklären kann wie ich an die "Unterklasse" komme!
Gruß F4llen4ngel