類的例項化順序

2022-08-11 17:12:20 字數 805 閱讀 8935

通過簡單的**,更清晰的了解了,乙個類的例項化順序

/**

* 測試例項化父類 */

public

class

parentinstance

static

public

void

print()

}

/**

* 測試例項化子類 */

public

class soninstance extends

parentinstance

static

public

void

print()

public

static

void

main(string args)

}

結果如下:

父類靜態**塊

子類靜態**塊

子類main()方法

父類構造**塊

父類構造方法

子類列印方法

子類構造**塊

子類構造方法

子類列印方法

由於父類列印方法被子類覆蓋,因此儘管父類呼叫的是this.print(),但最終還是呼叫子類的列印方法。

總結如下:

父類靜態**塊》子類靜態**塊》子類main()方法》父類構造**塊》父類構造方法》子類構造**塊》子類構造方法

靜態**塊:在虛擬機器載入類的時候就會載入執行,而且只執行一次。

非靜態**塊:在建立物件的時候執行,每次建立物件都會執行一次。

類的例項化順序

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

類的例項化順序

package com.company.demo1 public class classinit class a public string s1 prtstring a的成員變數.public static string s2 prtstring a的static變數.protected a pu...

類的例項化順序

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