Obtener una colección de instancias mediante el Lookup y luego recorrerla
Collection c = Lookup.getDefault().lookup(new Lookup.Template(Animal.class)).allInstances();
for (Iterator it=c.iterator();it.hasNext();) {
Animal animal = (Animal) it.next();
animal.comer();
}