執行緒類的構造方法、靜態塊是被new這個執行緒類所在的執行緒所呼叫的,而run方法裡面的**才是被執行緒自身所呼叫的。
如果說上面的說法讓你感到困惑,那麼我舉個例子,假設thread2中new了thread1,main函式中new了thread2,那麼:
(1)thread2的構造方法、靜態塊是main執行緒呼叫的,thread2的run()方法是thread2自己呼叫的
(2)thread1的構造方法、靜態塊是thread2呼叫的,thread1的run()方法是thread1自己呼叫的
關於靜態塊 靜態屬性 構造塊 構造方法的執行順序
總結 1 類載入時,執行靜態 塊和初始化靜態變數。執行順序跟 順序一致。2 類例項化時,初始化變數 執行 塊 執行構造。其中初始化變數和 塊的順序跟 順序一致。執行構造是在最後。3 例項化子類時,會先呼叫父類的構造方法。呼叫構造方法之前,會先執行該類的 塊。4 類只會載入一次。5 靜態變數或靜態方法...
關於靜態塊 靜態屬性 構造塊 構造方法的執行順序
示例 public class helloa 父類 塊 靜態 塊 static 父類靜態屬性初始化 private static string getstaticstr private string getstr class hellob extends helloa 子類 塊 子類靜態 塊 sta...
Java類裡靜態快,構造塊,建構函式的順序
靜態塊 用static申明,jvm載入類時執行,僅執行一次 構造塊 類中直接用 定義,每一次建立物件時執行 建構函式 一般用來初始化成員屬性和成員方法的,即new物件產生後,就呼叫了物件了屬性和方法 public class study static static public static voi...