類的例項化順序

2021-10-01 10:26:41 字數 711 閱讀 6762

package com.company.demo1;

public class classinit

}class a

public string s1 = prtstring("a的成員變數...");

public static string s2 = prtstring("a的static變數...");

protected a()

public static string prtstring(string str)

}class b extends a

private static a a = new a();

static

}

返回結果如下:

a的static**塊...

a的static變數...

b的static變數...

a的成員變數...

a的**塊

a的建構函式...

b的static**塊...

a的成員變數...

a的**塊

a的建構函式...

b的成員變數...

b的**塊...

b的建構函式...

順序是:當建立類物件時,先初始化靜態變數和靜態塊,然後是非靜態變數和非靜態**塊,然後是構造器。由於靜態成員只會被初始化一次,所以如果靜態成員已經被初始化過,將不會被再次初始化。

類的例項化順序

首先列出例項化的順序 具體大家可以自行通過 進行驗證。在例項化的時候,可能會出現成員變數例項化類,那麼成員例項化。假造到public father father new father 時,在去初始化father這類的public father father new father 就很容易程式設計死迴...

類的例項化順序

類的例項化順序 1 建立物件前一定要先載入class檔案 2 static修飾的屬性和方法是隨著類的載入而載入的 3 因為存在繼承關係,所以,父類一定是優先於子類執行 先將父類中的屬性和方法載入之後再載入子類中的 4 建立物件其實在呼叫構造器,構造器的作用除了開闢空間之外,還需要做初始化功能,相比較...

類的例項化順序

通過簡單的 更清晰的了解了,乙個類的例項化順序 測試例項化父類 public class parentinstance static public void print 測試例項化子類 public class soninstance extends parentinstance static pu...