die Methode
getY()
liefert ein Objekt vom Typ Y zurück. Dieses ist vom Typ X abgeleitet.
Wenn ich das Objekt mit toString() in eine Zeichenkette umforme und dann ausgebe, bekomme ich den richtigen packagenamen und den richtigen Klassennamen zurück, was eigentlich impliziert dass der Typ richtig erkannt wurde.
Nur folgendes Problem: Ich übergebe dieses Objekt dann einem Konstruktor einer anderen Klasse. Der Konstruktor hat in der Parameterliste einen Parameter vom Typ X, also vom Obertyp.
Dort mache ich dann eine Typ Prüfung mit "instanceof Y", und es wird nicht erkannt, dass das Objekt vom Typ Y ist. Wenn ich für das Objekt die getClass() methode aufrufe und dann ausgebe, bekomme ich den Klassennamen des Obertyps und daran die Zeichenkette "_$$_javassist_23" angehängt.
getY()
liefert ein Objekt vom Typ Y zurück. Dieses ist vom Typ X abgeleitet.
Wenn ich das Objekt mit toString() in eine Zeichenkette umforme und dann ausgebe, bekomme ich den richtigen packagenamen und den richtigen Klassennamen zurück, was eigentlich impliziert dass der Typ richtig erkannt wurde.
Nur folgendes Problem: Ich übergebe dieses Objekt dann einem Konstruktor einer anderen Klasse. Der Konstruktor hat in der Parameterliste einen Parameter vom Typ X, also vom Obertyp.
Dort mache ich dann eine Typ Prüfung mit "instanceof Y", und es wird nicht erkannt, dass das Objekt vom Typ Y ist. Wenn ich für das Objekt die getClass() methode aufrufe und dann ausgebe, bekomme ich den Klassennamen des Obertyps und daran die Zeichenkette "_$$_javassist_23" angehängt.