内部类

内部类  

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/fangtao1997/p/6896449.html