内部类

内部类
  1.根据位置的不同Java的内部类分为:静态内部类、成员内部类、局部内部类、匿名内部类
  2.任何内部类都编译成独立的class文件
  3.最大的作用:封装
  4.匿名类可以封装内部概念

  静态内部类
    使用static修饰,声明在类中
    静态内部类中可以访问外部类的静态成员
    列:public class Foo(){         外部调用:
         static class Woo{}-----------Foo.woo=new Foo.woo();
       }
    静态内部类的作用域和静态的变量一样,都是在类加载的时候就有了

  成员内部类
    声明在类中,不使用static,具有类的成员特征,也就是必须有类的实列才能创建

    类的实列,内部类实列可以访问外部类的成员
    列:public class Yoo{      外部调用:
         class MOO{}----------Moo moo=Yoo.new Moo();
     }

  局部内部类
     把类声明在方法中,就是局部内部类,作用域类似局部变量
     局部内部类的方法中,如要访问外部类的属性,则必须是final修饰的常量
     
  匿名内部类
    1.可以使用在任何地方,就像一般语句
    2.语法像创建对象------Date date=new Date{//....}
    3.匿名类是对原类的继承,同时创建了实列,{}就是继承以后的类体
    4.类体中可以使用所有类的语法
    5.匿名类不能写构造方法
    6.匿名类可以从抽象类或接口继承,必须提供抽象方法的实现

原文地址:https://www.cnblogs.com/fxx0129-nn/p/6891169.html