Вложенный класс и реализует ActionListener

Есть ли преимущества или недостатки в создании вложенного класса, реализующего ActionListener:

public class Foo{
    Foo(){
        something.addActionListener(new ButtonListener());
    }
    //...
    private class ButtonListener implements ActionListener{
        public void actionPerformed(ActionEvent e){
            //...
        }
    }
}

по сравнению с реализацией ActionListener в самом основном классе:

public class Foo implements ActionListener{
    Foo(){
        something.addActionListener(this);
    }
    //...
    public void actionPerformed(ActionEvent e){
        //...
    }
}

Я видел оба примера довольно часто и просто хочу знать, есть ли «лучшая практика».

11
задан aheuertz 27 March 2011 в 17:42
поделиться