java内部类的作用:
   1.实现数据的封装,因为可以定义private或protected.
   2.和接口结合,实现“多重继承”。java内部类除了以上作用外,主要用在哪些方面呢?具体什么时候可以用内部类?有哪些好处呢?
希望指点!!!谢谢!!!

解决方案 »

  1.   

    当两个类关系密切几乎不可分割的时候,考虑用内部类.当然,前提是内部类仅仅是主类使用,比如某个动作类的监听器,往往就是以内部类的形式存在,至于接口继承什么的,也和一般的类是一样的,看你想怎么用了.我以前使用过几次内部类,应用如下:
    1.线程池,任务(Task)是implements Runnable的,线程池管理容器类中包含一个Exctends Thread的内部类,当Task传入主类时,主类会对Task进行一些前期操作,而后实例化一个内部类并将Task传入.内部类进行一些对于运行期的优化,而后执行Task.
    2.某IM软件,需要进行方法回调的时候,写一个监听器,并放入某监听器容器.
      

  2.   

    侦听的时候可以直接用接口,然后用匿名内部类实现该接口.如    
    f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
              System.exit(0);
            }
      

  3.   

    内部类最大的好处就是在内部类中可以十分方便的访问外部类的所有成员,而外部类则只能访问内部类的public 或 默认级别的成员,这样内部类可以对外界不可见,而我们可以用内部类很方便的完成很多功能。
      另外内部类有一种形式是匿名内部类,这种用法很常见,用来实现一个接口,而不用为它起名字.
      

  4.   

    参看我的描述吧 http://community.csdn.net/Expert/topic/4336/4336084.xml?temp=.5896875