Potresti utilizzare la reflection per risolvere il tuo problema; ad esempio:
codice:
public class CromosomaFactory{
  
   public Cromosoma getCormosoma( String type ){
     Cromosoma c = null;
     if( type.equals( "binario" ) ){
       c = new CromosomaBinario(11);
     }else{
       c = new CormosomaPermutazione(11);
      }
      return c;
   }
}
Non l'ho provata ed ovviamente è un esempio stupidissimo però potresti costruirti un Factory di Cromosomi Singleton partendo da questo piccolo esempio.
Spero ti sia utila; ciao