静态变量是类级别的变量,它对所有类对象都是通用的,即,静态变量的单个副本在所有类对象之间共享。
静态方法可操纵类中的静态变量。它属于类而不是类对象,并且可以在不使用类对象的情况下被调用。
静态初始化块只能初始化静态实例变量。当加载类时,这些块仅执行一次。
演示此过程的程序如下:
示例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);
}