static修饰成员变量、方法、代码块,使得该类的所有对象共享这些东西。
- 静态成员。被static修饰的成员变量称为静态成员,静态成员可以用类名直接访问,也可以通过对象名访问。静态成员属于整个类,当系统第一次使用该类时为其分配内存空间,直到该类被卸载才会进行资源回收。
- 静态方法。被static修饰的方法称为静态方法。例如main方法就是静态方法。静态方法中可以直接调用该类中的静态成员和静态方法,但不能直接调用非静态成员和非静态方法。若想调用非静态成员和方法,需要创建对象以后通过对象名访问。但是普通的方法可以直接调用所有的变量,包括静态和非静态。
- 静态初始化块。可以直接在类中用花括号建立多个初始化块,若有static修饰,则成为静态初始化块。创建对象后的先执行静态初始化块,然后按顺序执行其他初始化块,最后执行构造方法。注意:静态初始化块只在首次创建对象时被执行。