java静态内部类怎么使用

655Z技术栈 JAVA编程 2025年08月27日 7

静态内部类是指在外部类中使用static关键字修饰的内部类。使用静态内部类的语法格式为:

public class OuterClass { // 外部类成员变量和方法 public static class InnerClass { // 静态内部类成员变量和方法 } }

静态内部类使用的注意事项:

  1. 静态内部类可以直接访问外部类的静态变量和静态方法,但不能直接访问外部类的非静态变量和非静态方法。
  2. 静态内部类可以被外部类直接访问,不需要创建外部类的对象。
  3. 静态内部类可以有自己的静态变量和静态方法,与外部类的静态变量和静态方法不冲突。
  4. 外部类的对象不能直接访问静态内部类的成员变量和成员方法,需要通过创建静态内部类的对象来访问。

示例代码如下:

public class OuterClass { private static int outerStaticVar = 1; private int outerVar = 2; public void outerMethod() { System.out.println("OuterClass outerMethod"); } public static class InnerClass { private static int innerStaticVar = 3; private int innerVar = 4; public void innerMethod() { System.out.println("InnerClass innerMethod"); } public static void innerStaticMethod() { System.out.println("InnerClass innerStaticMethod"); } } public static void main(String[] args) { // 直接访问静态内部类的静态变量和静态方法 System.out.println(InnerClass.innerStaticVar); InnerClass.innerStaticMethod(); // 创建静态内部类的对象,并访问其成员变量和成员方法 InnerClass innerObj = new InnerClass(); System.out.println(innerObj.innerVar); innerObj.innerMethod(); // 外部类的对象不能直接访问静态内部类的成员变量和成员方法 // System.out.println(innerVar); // 编译错误 // innerMethod(); // 编译错误 } }

以上代码中,静态内部类InnerClass可以直接访问外部类的静态变量outerStaticVar和静态方法outerMethod,并且可以有自己的静态变量innerStaticVar和静态方法innerStaticMethod。外部类的对象不能直接访问静态内部类的成员变量和成员方法,需要通过创建静态内部类的对象来访问。

提供PHP及ThinkPHP框架的定制开发、代码优化,PHP修改、ThinkPHP修改。

邮箱:yvsm@163.com 微信:yvsm316 QQ:316430983
关闭

用微信“扫一扫”