内部类

内部类:(在类里面还有一个类,把class写入class中)

最大作用:封装

静态内部类:

  使用static修饰,声明在类体中

  静态内部类中可以访问外部类的静态成员

  例:public class Foo(){         外部调用:

           static class Woo{}-----------Foo.woo=new Foo.woo();

         }

    静态内部类的作用域和静态的变量一样,都是在类加载的时候就有了


成员内部类:

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

  内部类实例可以访问共享外部类成员变量

  例:public class Yoo{      外部调用:

             class MOO{}----------Moo moo=Yoo.new Moo();

           }

局部内部类:

  把类声明在方法中,就是局部内部类,作用域类似局部变量

  局部内部类的方法中,如要访问外部类的属性,则必须是final修饰的常量

匿名内部类:(回调模式)

  匿名类可以写在任何地方,就像一般的语句

  语法更像是创建对象: Date d=new Date(){//...}

  匿名类是对原类的一个继承,同时创建了实例,{}就是继承以后的类体

  类体中可以使用所有类的语法

  匿名类不能写构造器

  匿名类可以从抽象类或者接口继承,必须提供抽象方法的实现

原文地址:https://www.cnblogs.com/yiui/p/6911804.html