静态内部类
所谓静态内部类,就是使用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()方法来测试对外部类静态变量的调用。