一、内部类
1,静态内部类
使用static修饰,声明在类体中
静态内部类中可以访问外部类的静态成员
2,成员内部类
声明在类体中,不使用static,具有类的成员特征,也就是,必须有类的实例才能
创建内部类实例
内部类实例可以访问共享外部类的成员变量(很常用)
如:链表的节点就可以定义为内部类
3,局部内部类
把类声明在方法中,就是局部内部类,作用域
类似局部变量(很少见)
4,匿名内部类
匿名类,非常常见,可以写在任何地方,就像一般的语句
语法更象是创建对象:Date d = new Date(){//...};
匿名类是对原类的一个继承,同时创建了实例,{}就是继承以后的类体
任何内部类都编译成独立的class文件
最大的作用:封装!
匿名类可以封装内部概念
类体中可以使用所有类的语法
匿名类不能写构造器
匿名类可以从抽象类或者接口继承,必须提供抽象方法的实现