Proč vůbec pomocí vnitřní třídy?
vnitřní třída má přístup k (i chráněným) prvkům mateřské třídy!
poněkud nepřehledné, třída je skryta v ostatním kódu
navíc: pokud si speciálně nepamatujeme odkaz na jednou vytvořený a zapojený posluchač, pak jej nelze z paměti odstranit - nemáme na něj odkaz
V následujícím úryvku kodu se:
okno.addWindowListener( new WindowListener() {
public void windowClosing(WindowEvent e) { System.exit(0); } } );
...vytvoří jedna instance anonymní vnitřní třídy a ta se předá/použije jako posluchač událostí.