public class HelloWorld{
int sum1; // 声明变量sum1
int sum2; // 声明变量sum2
static int sum3; //声明静态变量sum3
public HelloWorld{ // 构造方法
sum1 = 1;
System.out.println("使用构造方法给变量sum1赋值");
}
{ // 初始化块
sum2 = 2;
System.out.println("使用初始化块给变量sum2赋值");
}
static { // 静态初始化块
sum3 = 3;
System.out.println("使用静态初始化块给静态变量sum3赋值");
}
public static void main(String[] args){
HelloWorld hello = new HelloWorld(); // 创建类的对象hello
System.out.println("num1:" + hello.num1);
System.out.println("num2:" + hello.num2);
System.out.println("num3:" + hello.num3);
HelloWorld hello2 = new HelloWorld(); // 创建类的对象hello2
}
}
运行结果:
得出结果:
程序运行时,静态初始化块最先运行,接着是初始化块,最后是构造方法。
注意:静态初始化块只能给静态变量赋值,初始化块都可以
网友评论