嵌套类:
在 Java 程序设计语言中,允许在一个类如 ClassA 中定义另一个类如 ClassB,这样类 ClassB 被称为“嵌套类”,而包含 ClassB 的类 ClassA 称为“外部类”。
包括静态内部类(class前加static)和非静态内部类。
一个嵌套类是其外部类的成员。非静态嵌套类(内部类)可以访问其外部类的其他成员,即使是声明的私有(private)成员。静态嵌套类不能访问其外部类的其它成员。
静态嵌套类:
与类方法和类变量一样,静态嵌套类与它的外部类相关联。并且象静态类方法一样,一个静态嵌套类不能直接引用其外部类的实例变量或实例方法,只能通过一个对象引用使用它们。
使用其外部类的名称访问静态内部类。如:OuterClass.StaticNestedClass
创建一个静态嵌套类的对象:OuterClass.StaticNestedClass nestedObject=newOuterClass.StaticNestedClass() ;
内部类:包括局部内部类和匿名内部类
就象实例方法和变量,一个内部类与包围它的外部类的实例相关联,并且可以直接访问那个对象的方法和字段。此外,因为内部类与一个实例相关联,所以在内部类中不能定义任何静态成员。