no es tan lioso como te imaginas, sino fuese por el magnifico
instanceOf
algo asi:
digamos que quieres hacer algo con un tipo de objeto
for(int i=0; i<10; i++){
if(this.listaObjetos[i] instanceof Profesor){
...
}
}
voy a seguir buscando la forma...todabia no me rindo xD