Static 块仅在该类被加载时执行一次
class UseStatic {
static int a = 3;
static int b;
static void meth(int x) {
System.out.println("x = " + x); System.out.println("a = " + a); System.out.println("b = " + b);
}
static {
System.out.println("Static block initialized.");
b = a * 4;
}
public static void main(String args[]){
meth(42);
}
}
一旦UseStatic 类被装载,所有的static语句被运行。首先,a被设置为3,接着static 块执行(打印一条消息),最后,b被初始化为a*4 或12。然后调用main(),main() 调用meth() ,把值42传递给x。3个println ( ) 语句引用两个static变量a和b,以及局部变量x 。 注意:在一个static 方法中引用任何实例变量都是非法的。 下面是该程序的输出:
Static block initialized.
x = 42
a = 3
b = 12
本文介绍了一个Java示例程序,展示了Static块如何在类加载时仅执行一次。通过具体代码示例,解释了静态变量初始化的过程及静态方法如何调用。
624

被折叠的 条评论
为什么被折叠?



