Příklad - událost zavření okna

Proč vůbec pomocí vnitřní třídy?

výhody

vnitřní třída má přístup k (i chráněným) prvkům mateřské třídy!

nevýhody

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í.