更新时间:2022-12-14 来源:黑马程序员 浏览量:

静态内部类,就是使用static关键字修饰的成员内部类。与成员内部类相比,在形式上,静态内部类只是在内部类前增加了static关键字,但在功能上,静态内部类只能访问外部类的静态成员,通过外部类访问静态内部类成员时,可以跳过外部类直接访问静态内部类。
创建静态内部类对象的基本语法格式如下:
外部类名.静态内部类名 变量名 = new 外部类名 ().静态内部类名 ();
下面通过一个案例学习静态内部类的定义和使用,如文件4-22所示。
文件4-22 Example22.java
class Outer {
    static int m = 0; // 定义类的成员变量
    // 下面的代码定义了一个静态内部类
    static class Inner {
        int n = 1;
        void show () {
            // 在静态内部类的方法中访问外部类的成员变量
            System.out.println("外部静态变量m = " +m);
        }
    }
}
public class Example22 {
    public static void main (String[] args) {
        Outer.Inner inner = new Outer.Inner () ;
        inner.show();
    }
}文件4-22的运行结果如图4-22所示。

图4-22 文件4-22的运行结果
在文件4-22中,第1~11行代码定义了一个外部类Outer,其中第2~10行代码是在Outer类中定义了静态成员变量和静态内部类Inner。然后在静态内部类Inner中,编写了一个show()方法,在show()方法中打印了外部静态变量m,第14~15行代码声明了一个内部类对象inner,并使用inner对象调用show()方法测试对外部类静态变量m的调用。
1024首播|39岁程序员逆袭记:不被年龄定义,AI浪潮里再迎春天
2025-10-241024程序员节丨10年同行,致敬用代码改变世界的你
2025-10-24【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19