嵌套类简介

来源:百度文库 编辑:神马文学网 时间:2024/04/30 03:17:26
   J2SE1.1版本以后,Java编译器支持类的嵌套,即允许在一个类中定义另一个类。在静态嵌套类的内部,也可以定义嵌套类 ,构成无限级嵌套。嵌套类主要可以分为4种分别为静态嵌套类(static nested class),实例嵌套类(instance nested class),局部内部类(loacal inner classes)和匿名内部类(anonymous inner classes)。静态嵌套类:   Java的类成员除了可以有成员域和方法外,也允许类作为它的成员。类成员主要可分为静态成员和实例成员,同样地定义于类中的类,也可分为静态成员类实例成员类。静态成员类也称为静态嵌套类(static nested class)或嵌套顶级类(nested top level class),相应地实例成员类也称为实例成员类。   虽然静态类的定义与其静态成员一样,在嵌套类的声明中加上static关键字表示为静态。存取修饰符可以与public,protested, private及默认,用法及存取权限也和其他类成员一样。此外嵌套类的声明格式和其他类没有什么区别。   虽然静态嵌套类被static修饰符修饰,但这并不妨碍静态嵌套类声明自己的成员(包括静态成员和实例成员)即创建自己的对象。静态嵌套类的成员可以直接引用外部类中定义的静态成员,但不可以直接引用外部类的实例成员,这与静态方法一样。外部类成员也可以直接引用内部类的静态成员,但也不可以直接引用内部类的实例成员。对静态嵌套成员的引用需使用全名,即在嵌套成员前面加上所有外部类的名字,他们之间用"."分割。用new关键字声明该嵌套类的时候也需要使用类的全名。