Grazie mille per la risposta
Utilizzo il downcasting perchè utlizzando il metodo con la classe Oggetto (astratta), mi restituisce un'errore di tipo NullPointerException.
edit: Di fatto io utlizzavo il controllo in questo modo: Se la classe è di tipo es. Regalo allora utilizzo eventualmente un metodo esclusivo della classe regalo, altrimenti puoi utilizzare qualsiasi metodo ereditato dalle sottoclassi... Ma mi dà l'errore sopra..