内部类
内部类
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.匿名类可以从抽象类或接口继承,必须提供抽象方法的实现