共计 1210 个字符,预计需要花费 4 分钟才能阅读完成。
静态内部类是指在外部类中使用 static 关键字修饰的内部类。使用静态内部类的语法格式为:
public class OuterClass {// 外部类成员变量和方法
public static class InnerClass {// 静态内部类成员变量和方法
}
}
静态内部类使用的注意事项:
- 静态内部类可以直接访问外部类的静态变量和静态方法,但不能直接访问外部类的非静态变量和非静态方法。
- 静态内部类可以被外部类直接访问,不需要创建外部类的对象。
- 静态内部类可以有自己的静态变量和静态方法,与外部类的静态变量和静态方法不冲突。
- 外部类的对象不能直接访问静态内部类的成员变量和成员方法,需要通过创建静态内部类的对象来访问。
示例代码如下:
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
。外部类的对象不能直接访问静态内部类的成员变量和成员方法,需要通过创建静态内部类的对象来访问。
丸趣 TV 网 – 提供最优质的资源集合!
正文完