這是Java代碼片段。初始化類
class A{
public A() { }
public A(int i) { System.out.println(i); }
}
class B{
static A s1 = new A(1);
A a = new A(2);
public static void main(String[] args){
B b = new B();
A a = new A(3);
}
static A s2 = new A(4);
}
執行順序如下:1,4,2,3因爲類的初始化以這種方式執行。 但是如果刪除了B b = new B();
對象創建,那麼這是否意味着該類不會按上述順序初始化? 最好的問候
當你嘗試時發生了什麼?如果你沒有創建一個新的B實例*,那麼這意味着什麼? B是否有任何實例變量?如果您不創建B的實例,是否會創建任何B實例變量?考慮一下。 –