package test;
class TestA {
?? ?public TestA() {
?? ??? ?System.out.println("Test--A");
?? ?}
}
class TestB {
?? ?public TestB() {
?? ??? ?System.out.println("Test--B");
?? ?}
}
public class TestOrder {
?? ?// 靜態(tài)變量
?? ?public static TestA a = new TestA();
?? ?// 靜態(tài)初始化塊
?? ?static {
?? ??? ?System.out.println("靜態(tài)初始化塊");
?? ?}
?? ?// 靜態(tài)變量
?? ?public static TestB b = new TestB();
?? ?public static void main(String[] args) {
?? ??? ?new TestOrder();
?? ?}
}
//
// 結(jié)果:
// *******
// Test--A
// 靜態(tài)初始化塊
// Test--B
// 大家可以隨意改變變量a、變量b以及靜態(tài)初始化塊的前后位置,
//就會發(fā)現(xiàn)輸出結(jié)果隨著它們在類中出現(xiàn)的前后順序而改變,
//這就說明靜態(tài)變量和靜態(tài)初始化塊是依照他們在類中的定義順序進行初始化的。
//同樣,變量和初始化塊也遵循這個規(guī)律。