静态初始不依赖于类的实例构造过程,也就是说要在不构造类的实例的情况下也能初始化某些类成员。静态初始,通常是用来初始化类的静态成员,如上述的nextId成员。因为如果类的静态成员为可见的情况下可以用类直接访问而不需要类的对象。所以,要是没有了静态初始化,外部直接访问类的静态成员,可能就出现NullPointerException啦。