public class HelloWorld{
? ? ? ? int sum1; // 聲明變量sum1
? ? ? ? int sum2; // 聲明變量sum2
? ? ? ? static int sum3; //聲明靜態(tài)變量sum3
? ? ? ? public HelloWorld{ // 構(gòu)造方法
? ? ? ? ? ? ? ? sum1 = 1;?
? ? ? ? ? ? ? ? System.out.println("使用構(gòu)造方法給變量sum1賦值");
? ? ? ? }
? ? ? ? { // 初始化塊
? ? ? ? ? ? ? ? sum2 = 2;
? ? ? ? ? ? ? ? System.out.println("使用初始化塊給變量sum2賦值");
? ? ? ? }
? ? ? ? static { // 靜態(tài)初始化塊
? ? ? ? ? ? ? ? sum3 = 3;
? ? ? ? ? ? ? ? System.out.println("使用靜態(tài)初始化塊給靜態(tài)變量sum3賦值");
? ? ? ? }
? ? ? ? public static void main(String[] args){
? ? ? ? ? ? ? ? HelloWorld hello = new HelloWorld(); // 創(chuàng)建類的對(duì)象hello
? ? ? ? ? ? ? ? System.out.println("num1:" + hello.num1);
? ? ? ? ? ? ? ? System.out.println("num2:" + hello.num2);
? ? ? ? ? ? ? ? System.out.println("num3:" + hello.num3);
? ? ? ? ? ? ? ? HelloWorld hello2 = new HelloWorld(); // 創(chuàng)建類的對(duì)象hello2
? ? ? ? }
}
運(yùn)行結(jié)果:
得出結(jié)果:
? ? ? ?程序運(yùn)行時(shí)右犹,靜態(tài)初始化塊最先運(yùn)行滤灯,接著是初始化塊,最后是構(gòu)造方法先誉。
注意:靜態(tài)初始化塊只能給靜態(tài)變量賦值,初始化塊都可以