首先我想弄清楚,你想知道的作用是指内部类,还是仅仅只匿名内部类和非匿名内部类的区别内部用处是class Outer extends A{
  int x;
  .....
  class Inner extends B {
    public void a() {
      x++;
    }
  }
}Outer$Inner 这个内部类自己是B的子类,而不是Outer或者A的子类,这个Inner却拥有对x等Outer内部字段/方法的访问权。匿名不匿名的区别在于它们声明的方式,以及使用的次数。当然,匿名内部类也可以被多次使用,方式就是class Outer {
  a.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {}
  });
  b.addActionListener(new Outer$1());
}