内部类

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/banxia123-ha/p/6891178.html