Java嵌套类

来源:互联网 发布:redis publish php 编辑:程序博客网 时间:2024/05/16 18:35

 

Java语言支持类的嵌套定义,也就是说,允许将一个类定义在其他类的内部,其中内层的类被称为嵌套类(Nested Class)。

 

嵌套类可以分为两种:

·静态嵌套类(static Nested Class):使用static修饰

·内部类(Inner Class):非static修饰

 

例如:

public class A

{

    private class B

    {}  //内部类

    private static class C

    {}  //静态嵌套类

}

 

内部类又可以分为三种情况:

1.普通的内部类:在Java类中、方法或语句块的外部定义的非static类。

2.局部内部类:也称局部类(Local Class),定义在方法或语句块中的类。

3.匿名内部类:也称匿名类(Anonymous Class),定义在方法或语句块中,该类没有名字、只能在其所在之处使用一次。

 

·内部类与其所在的外层类之间存在着逻辑上的依赖关系——内部类的对象不能单独存在,它必须依赖一个其外层类的对象;

·在内部类中可以直接访问其外层类中的成员、包括属性和方法,即使这些方法和属性是private的。

·内部类可以声明为抽象类,因此可以被其他的内部类继承,也可以声明为final的。

·和外层类不同,内部类可以声明为private或protected。