Das Interface {@code Varianten} wird hier von mehreren Klassen implementiert. Normalerweise haben die Konstruktoren der Implementierungen Standardsichtbarkeit, so dass es nicht moegliche ist Instanzen zu erzeugen. Unterschiedliche Varianten stehen als oeffentliche statische Konstanten im Interface {@code Varianten} zur Verfuegung. Die Klasse {@code VariantenFrei} bestitz als einzige Implementierung einen public Konstruktor.