1. 程式人生 > >java_類例項化順序

java_類例項化順序

public class Test2 {
    public static void main(String [] args){
        System.out.println("第一次new AAA物件!");
        AAA aaa_1 = new AAA();
        System.out.println("第二次new AAA物件!");
        AAA aaa_2 = new AAA();
    }
}
class AAA{
    public CCC ccc = new CCC();
    public static BBB bbb = new BBB();
    static{
        System.out.println("aaa");
    }
    public AAA(){
        System.out.println("AAA構造方法執行");
    }
}
class BBB{
    public BBB(){
        System.out.println("BBB構造方法執行");
    }
}
class CCC{
    public CCC(){
        System.out.println("CCC構造方法執行");
    }
}
結果:
第一次new AAA物件!
BBB構造方法執行
aaa
CCC構造方法執行
AAA構造方法執行
第二次new AAA物件!
CCC構造方法執行
AAA構造方法執行
執行順序:static修飾的屬性(第一次new時執行)------static塊(第一次new時執行)------沒有static修飾的屬性------構造方法