Nested class vs implements ActionListener
¿Hay algún beneficio o inconveniente para crear una clase anidada que implemente ActionListener:
public class Foo{
Foo(){
something.addActionListener(new ButtonListener());
}
//...
private class ButtonListener implements ActionListener{
public void actionPerformed(ActionEvent e){
//...
}
}
}
versus implementando ActionListener en la propia clase principal:
public class Foo implements ActionListener{
Foo(){
something.addActionListener(this);
}
//...
public void actionPerformed(ActionEvent e){
//...
}
}
He visto ambos ejemplos con bastante frecuencia, y solo quiero saber si hay una 'mejor práctica'.