学科分类
目录
Java基础

静态内部类

所谓静态内部类,就是使用static关键字修饰的成员内部类。与成员内部类相比,在形式上,静态内部类只是在内部类前增加了static关键字,但在功能上,静态内部类中只能访问外部类的静态成员,同时通过外部类访问静态内部类成员时,可以跳过外部类从而直接通过内部类访问静态内部类成员。

创建静态内部类对象的基本语法格式如下:

外部类名.静态内部类名 变量名 = new 外部类名.静态内部类名();

接下来通过一个案例来学习静态内部类的定义和使用,如文件1所示。

文件1 Example20.java

 1    // 定义外部类Outer
 2    class Outer {
 3        static int m = 0; // 定义外部类静态变量m
 4        static class Inner {
 5            void show() {
 6                // 静态内部类访问外部类静态成员
 7                System.out.println("外部类静态变量m="+m);
 8            }
 9        }
 10    }
 11    // 定义测试类
 12    public class Example20 {
 13        public static void main(String[] args) {
 14            // 静态内部类可以直接通过外部类创建
 15            Outer.Inner inner = new Outer.Inner(); 
 16            inner.show();
 17        }
 18    }

运行结果如图1所示。

图1 运行结果

文件1中,定义了一个外部类Outer,并在该内中定义了静态成员变量和静态内部类Inner。然后在静态内部类Inner中,编写了show()方法来测试对外部类静态变量的调用。

点击此处
隐藏目录