内部类的好处有哪些?一些书说为回调带来方便,但是我感觉不到,请指教

解决方案 »

  1.   

    内部类可以直接引用主类的private的方法或对象,而不许要进行任何对象的调用.
    很方便的哦.
      

  2.   

    abstract class B{
    abstract void fun2();
    }

    class A{
    void fun1(){
    }
    }

    class C extends A{
    B getB(){
    return new B(){
    void fun2(){
    }
    };
    }

    }
    class D{
    void method1(C c){
    c.fun1();
    }
    void method2(B b){
    b.fun2();
    }
    public static void main(String[] args){
    D d=new D();
    C c=new C();
    d.method1(c);
    d.method2(c.getB());
    }
    }
    不用内部类实现一个看看
      

  3.   

    若写关于awt方面的程序就会经常碰到内部类的例子:
    awt将事件的发出者(component)和接受者ActionListener分离,在任何一个组件中都要注册一个监听者,如Button bb = new Button("OK");
    bb.addListener( new ActionListener(){
            public void actionPerformed(AWTEvent evt){
            }
          });这里的new ActionListener(){}就是使用一个内部匿名类的最常见的例子