Brug af Reflection API sammen med abstract klasser

Tags:    java

Jeg har lavet følgende kode:
Fold kodeboks ind/udKode 
Fold kodeboks ind/udKode 

Det fungerer ganske som det skal. Men nu vælger jeg så at lave SuperClass om til en abstract class. Hvad skal jeg så ændre i min getSuperClass metode for at kopiere SuperClass fields, eftersom jeg jo ikke kan instantiere et objekt længere?



Indlæg senest redigeret d. 10.09.2009 15:38 af Bruger #12726
4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Du behøver ikke et en instans af en klasse for at få dens class, du kan til enhver tid blot bruge klasse.class
fx: SuperClass.class

desuden kan en Class helt sikkert fortælle om hvem dens super klasse er, og hvilke interfaces den implementerer mv.

men du skal passe med private og public access modifier, for det er ikke altid at du må tilgå variablerne.




Problemet er at jeg bruger den metode til at returnere et objekt af super klassen. Men hvad jeg ikke havde tænkt over var at det jo ikke er muligt at instantiere et abstrakt objekt, så det vil alligevel ikke være muligt at returnere noget, såfremt super klassen er abstrakt. Så mit problem er i virkeligheden ikke eksisterende.



Du kan ganske som du siger ikke instantiere et objekt af en abstrakt klasse, så du er nødt til at instantiere en subklasse, men så kan du stadig iterere over felterne på samme måde.



Godt, så lader vi den stå her. Smid et svar, Robert.



t