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