Ciao a tutti,
vi espongo il mio problema:
Devo passare a un oggetto una classe, in modo che poi quell'oggetto crei una nuova istanza della classe passatagli.
La classe che devo passare però deve essere una sottoclasse della classe che specifico nella dichiarazione del metodo, mi spiego con un esempio:
il metodo è del tipo
codice:
void compraFrutto(Class<Frutto> fruitClass)
Frutto è una classe astratta, quindi io devo passargli
codice:
Mela.class, Arancia.class
, ecc.., che sono le classi che ereditano da Frutto.
Il problema è che evidentemente non si fa così, perchè mi dà errore a compile time, dicendomi che non
esiste un metodo che accetta un parametro di tipo
.
Per vari motivi non posso passargli direttamente gli oggetti istanziati, perchè è la classe che contiene "compraFrutto()" che sa quando e se istanziarli.