1. 程式人生 > >現在才知道Java中變數宣告可以放在賦值後面。。。

現在才知道Java中變數宣告可以放在賦值後面。。。

public class Member {
// 1
{
a = 1;
// System.out.println(a);//按程式碼順序執行,沒有宣告可以先賦值但不能使用,這裡會拋錯。
}
private int a = 2;


// 2
{
b = 3;
}
private final int b;


// 3
{
c = 4;
}
private static int c;


// 4
{
d = 5;
System.out.println("-----------");
}
private static int d;


// 5
static {
e = 6;
}
private static int e;


public static void main(String[] args) {
Member test1 = new Member();
System.out.println(test1.a);//用Debug除錯發現a先為0,然後為1,最後為2輸出
Member test2 = new Member();
System.out.println(test2.b);//final只能賦值一次沒什麼,結果為3
Member test3 = new Member();
System.out.println(test3.c);//結果為4
System.out.println(d);//與上一個相同就是沒有new物件賦值程式碼就不執行了,結果為0(其他註釋的情況下)
System.out.println(e);//靜態程式碼塊一開始就會執行所以結果為6
}


}