Could somebody enlighten me on the difference between inner and nested classes ???

My understanding is that inner classes are those classes defined in methods while nested classes are those which are not part of any method but are defined within a class directly.
Is this understanding correct ?

If yes, are not inner classes also to be considered as nested classes, since they have an enclosing class anyway ?
What about anonymous classes defined in a method ? Is it also an inner class ?
What about an anonymous class defined at the class level like the one below ? Is it an inner class or a nested class ?
public class A {
Button myButton = new Button();
myButton.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e ) { }
} );
}
Please help me clarify my doubt.
Appreciate your help . . .
Thanks,
Shashank