嵌套类
Java 术语
嵌套类(Nested Class),是 Java 中对的一种定义方式。嵌套类分为两种:静态嵌套类和非静态嵌套类。非静态嵌套类,又称为内部类(Inner Class)。
定义
以下内容来自 Java 官方教程中的《嵌套类》章节。
Java 编程语言允许一个被定义在另一个类中,这样的类就称为嵌套类。
包含嵌套类的类,可称为外围类(Enclosing Class)或外部类(Outer Class)。嵌套类可作为其外围类的成员。非静态嵌套类(内部类)可访问其外围类的其他成员,即使这些成员被声明为私有的。静态嵌套类不能访问其外围类的其他成员。
若嵌套类作为其外部类的成员,则它可声明为 private、public、protected 或包私有的。
为何使用嵌套类
使用嵌套类的主要理由是:
静态嵌套类
与类的方法和变量一样,静态嵌套类与其外部类相关联。与类的静态方法一样,静态嵌套类不能直接引用其外围类中定义的实例变量或方法,它只能通过对象引用来使用它们。
静态嵌套类创建对象的语法:
静态嵌套类是外部类的静态成员,它可以直接使用外部类名.静态嵌套类名访问自身。它可以访问外部类的静态成员和静态私有成员。与其他类一样,静态嵌套类不能访问非静态成员。使用静态嵌套类对象访问外部类的实例变量和实例方法。例如:OuterClass.StaticNestedClass
想要了解有关静态嵌套类的更多信息,请参阅词条:《静态嵌套类》。
内部类
与实例的方法和变量一样,内部类与其外围类的实例相关联,并可直接访问该外围类对象的方法和字段。此外,由于内部类与实例相关联,因此不能在内部类中定义任何静态成员。
非静态嵌套类( Non-static Nested Classes ):一般称为内部类( Inner Classes )。
内部类又分为:成员内部类(Member inner class)、局部内部类(Local inner class)、匿名内部类(Anonymous inner class)
内部类不能定义任何静态成员,内部类的实例化对象存在于外部类的实例化对象中。要实例化一个内部类,必须先实例化其外部类。
OuterClass.InnerClass innerObject =new OuterClass.InnerClass();
想要了解有关内部类的更多信息,请参阅词条:《内部类》。
参考资料
嵌套类.Oracle.
最新修订时间:2024-05-21 13:31
目录
概述
定义
为何使用嵌套类
参考资料