Java中有四种内部类:静态内部类,成员内部类,局部内部类和匿名内部类。
这四种内部类有什么作用呢?什么时候会使用?
希望大虾们指教一二,不胜感激......

解决方案 »

  1.   

    静态内部类 参考MAP.ENTRY
    一般用于和外部类紧密耦合的数据结构或类的封装 但其对象可以脱离外部类单独存在
    比如 汽车和轮子
    成员内部类 
    与静态内部类相似 但其对象不能脱离外部类单独存在 
    比如 人和人的胳膊局部内部类
    用于局部封装的类 一般在一个方法块中多次使用 但方法块外从未出现匿名内部类
    不需要类名的类 也就是说只new一次的类 比如UI中按钮监听类 或者创建轮询线程
      

  2.   

    内部类在android里会经常用到,java 一些程序做监控的时候应该经常用这些吧,内部类是java里闭包的一种体现,内部类隐含了一个指向外部类的引用,所以可以访问外部类的所有成员,静态内部类由于static原因不能访问外部类所有成员,能访问部分;匿名内部类实现了接口,可以实现多继承,局部内部类就是作用域不一样吧……不知道说的对不对,给你参考一下吧……thinking in java里有很详细的说明,在第10章。
      

  3.   

    1 静态内部类,在类里可以直接new
    2 成员内部类,new Class().new InnerClass()
    3 局部内部类, 不知道啥意思
    4 匿名内部类 多用于swing中的事件操作比如java.awt.event 接口 ActionListener
    new ActionListener() {
        public void actionPerformed(ActionEvent e)  {
        }
    }