我们通常所说的静态内部类其实是不严格的,严格的说应该叫做静态嵌套类(Static Nested Class)。 class OuterClass { ... class InnerClass { ... } static class StaticNestedClass { ... } } 上述代码中的InnerClass就是内部类,StaticNestedClass就是静态嵌套类。 内部类与静态嵌套类虽然都是嵌套类,但在使用...
39*/40publicStaticNestedClass(String name) {41this.name = name + " (in the nested object)";42}4344publicString getName() {45returnname;46}47}48}49/*输出结果:50Java51Java (in the nested object)5253*/ 在上述示例中,若 StaticNestedClass 类的实例在创建时需要使用 OuterClass 类的成员变量,...
packagecn.juwatech.nested;publicclassOuterClass{privatestaticStringstaticOuterField="Static Outer Field";publicstaticclassStaticNestedClass{publicvoiddisplay(){ System.out.println("Static Outer Field: "+ staticOuterField); } }publicstaticvoidmain(String[] args){// 创建静态内部类的实例OuterClass.Static...
Note:In Java, only nested classes are allowed to be static. Like regular classes, static nested classes can include both static and non-static fields and methods. For example, Class Animal {staticclassMammal{// static and non-static members of Mammal}// members of Animal} ...
术语规范:按照官方文档,定义在外部类(封装类)内部的类称之为nested class,根据是否被static关键字修饰又分为两类:static nested classes 和 inner classes。 class OuterClass { static class StaticNestedClass {} class InnerClass {} } 使用嵌套类的好处在于: ...
在Java 语言中允许在另外一个类中定义一个类,这样的类被称为嵌套类。包含嵌套类的类称为外部类(outer class),也可以叫做封闭类,在本文中统一叫做外部类。 内部类的语法: 嵌套类分为两类: 静态嵌套类( Static nested classes ):使用static声明,一般称为嵌套类( Nested Classes )。
在Java编程中,我们可以使用静态变量、静态方法和静态块,甚至整个类也可以被声明为静态。Java语言支持在一个类中定义静态内部类,即嵌套类(nested class)。当一个类被封闭在一个外部类中时,这个被封闭的类被称为内部类,而封闭它的外部类则被称为外部类。值得注意的是,顶级类不能用static修饰,但...
在这个示例中,StaticNestedClass是一个静态内部类,它可以访问外部类的静态成员staticOuterField,但不能直接访问非静态成员nonStaticOuterField。 二、静态内部类的特点 不依赖外部类实例:静态内部类的创建不依赖于外部类的实例,可以直接通过外部类名创建静态内部类的实例。
静态嵌套类(Static Nested Class) 静态嵌套类: 被static修饰的嵌套类 静态嵌套类在行为上就是一个顶级类, 只是定义的代码写在了另一个类中 对比一般的顶级类, 静态嵌套类多了一些特殊权限 可以直接访问外部类中成员(即使被声明为private) 什么情况使用嵌套类?