title: Nested class vs implements ActionListener
body: <p>Are there any benefits or drawbacks to creating a nested class that implements ActionListener:</p>
  
  <pre><code>public class Foo{
      Foo(){
          something.addActionListener(new ButtonListener());
      }
      //...
      private class ButtonListener implements ActionListener{
          public void actionPerformed(ActionEvent e){
              //...
          }
      }
  }
  </code></pre>
  
  <p>versus implementing ActionListener in the main class itself:</p>
  
  <pre><code>public class Foo implements ActionListener{
      Foo(){
          something.addActionListener(this);
      }
      //...
      public void actionPerformed(ActionEvent e){
          //...
      }
  }
  </code></pre>
  
  <p>I've seen both examples quite often, and just want to know if there's a 'best practice.'</p>