Je ne suis pas sûr de ce que vous essayez d'accomplir, mais vous devriez peut-être considérer que réussir un cours n'est peut-être pas ce que vous devez vraiment faire. Dans de nombreux cas, la gestion d'une classe comme celle-ci est facilement encapsulée dans un modèle d'usine d'un certain type et l'utilisation de ce modèle se fait par l'intermédiaire d'une interface : http://today.java.net/pub/a/today/2005/03/09/factory.html
L'utilisation d'une classe dans une factory peut être réalisée de différentes manières, notamment en ayant un fichier de configuration qui contient le nom de la classe qui implémente l'interface requise. La fabrique peut alors trouver cette classe dans le chemin des classes et la construire comme un objet de l'interface spécifiée.