静态变量是类级别的变量,它对所有类对象都是通用的,即,静态变量的单个副本在所有类对象之间共享。
静态方法可操纵类中的静态变量。它属于类而不是类对象,并且可以在不使用类对象的情况下被调用。
静态初始化块只能初始化静态实例变量。当加载类时,这些块仅执行一次。
演示此过程的程序如下:
public class Demo { static int x = 10; static int y; static void func(int z) { System.out.println("x = " + x); System.out.println("y = " + y); System.out.println("z = " + z); } static { System.out.println("运行静态初始化块。"); y = x + 5; } public static void main(String args[]) { func(8); } }
输出结果
运行静态初始化块。 x = 10 y = 15 z = 8
现在让我们了解上面的程序。
Demo类包含静态变量x和y。静态方法func()
打印x,y和z的值。演示此代码段如下:
static int x = 10; static int y; static void func(int z) { System.out.println("x = " + x); System.out.println("y = " + y); System.out.println("z = " + z); }
静态初始化块初始化静态变量y。在main()
方法中,该func()
方法被调用。演示此代码段如下:
static { System.out.println("运行静态初始化块。"); y = x + 5; } public static void main(String args[]) { func(8); }