定义

在一个类中创建另外一个类,叫做成员内部类。用static关键字修饰,就是静态内部类;否则是非静态内部类。

使用目的

如果主方法代码对于Java文件,只是一个形式,Java文件本身并不需要这个方法,但是又必须具有(因为主方法是程序的入口)。
将主方法写到静态内部类中,从而不必为每个Java源文件,都设置一个类似的方法。

使用限制

  1. 在静态内部类中,才能够定义静态成员变量静态成员方法
  2. 在静态内部类中,不能引用外部类的非静态变量。
  3. 创建静态内部类对象时,不需要外部类对象。

代码

public class BinTree {

    public static List<Node> nodeList = null;

    /**
     * 节点,静态内部类
     */
    public static class Node {

        int data;
        Node leftChild;
        Node rightChild;

        // 构造函数,初始化时左右孩子结点都为空
        Node(int newData) {
            data = newData;
            leftChild = null;
            rightChild = null;
        }
    }
}

参考

JAVA 内部静态类–解析静态内部类的使用目的与限制