>
> Ono je to poměrně logické, stačí se zamyslet nad touto situací:
> Round r = new BagRound();
> r.doTransition(Gender.MALE);
> Z hlediska kompilátoru by bylo vše v pořádku, protože metoda
> Round.doTransition bere jako parametr opravdu libovolný enum.
Rád bych v téhle souvislosti upozornil, že typový systém Javy obsahuje
podobnou díru od své první verze -- pole :-)
String[] a = { "a", "b", "c" };
Object[] b = a;
b[0] = new Object();
Druhý řádek by v rozumném jazyce neprošel překladačem, ale tady dostanete na
třetím řádku výjimku za běhu.
LT