内部类就是在一个类的内部定义一个类,比如,A类中定义一个B类,那么B类相对于A类来说就称为内部类,而A类相对于B类来说就是外部类了。
1.成员内部类:成员内部类是最普通的内部类,它的定义为位于另一个类的内部
2.静态内部类:静态内部类也是定义在另一个类里面的类,只不过在类的前面多了一个关键字static。静态内部类是不需要依赖于外部类的,这点和类的静态成员属性有点类似,并且它不能使用外部类的非static成员变量或者方法,这点很好理解,因为在没有外部类的对象的情况下,可以创建静态内部类的对象,如果允许访问外部类的非static成员就会产生矛盾,因为外部类的非static成员必须依附于具体的对象。
3.局部内部类:写在方法里面,或一个作用域里面的类
4.匿名内部类:没有名字初始化该类,不用将实例保存到变量中