阿里校招之類例項化的順序

2021-06-20 22:32:18 字數 1617 閱讀 3071

**:

類a的定義

01packagecom.sequence.test;

02

03publicclassa

13//  例項變數

14string type;

15//  非靜態自由塊

16

20string size;

21//  建構函式

22publica()

26}

類b的定義:

01packagecom.sequence.test;

02

03publicclassbextendsa

09//  非靜態自由塊

10

13publicb()

16}

測試類initsequencetest:

01packagecom.sequence.test;

02

03publicclassinitsequencetest

12

13}

輸出:

總結如下:

1,靜態自由塊在class載入的時候執行。只會執行一次。

2,非靜態自由塊在新建類的例項的時候執行。可以多次執行。在新建其或子類的例項時,就會執行。

當存在多個同一種型別的自由塊時,執行的順序是根據他們在**塊中出現的順序。

3,當子類繼承父類,執行的順序如下:父類的靜態變數和靜態域->子類的靜態變數和靜態域->父類的非靜態自由塊->父類的建構函式->子類的非靜態自由塊->子類的建構函式

Java之類例項化的順序

在建立乙個物件例項時,是如何一步步的進行 執行的呢,一般來說,順序如下 1.首先是父類的靜態變數和靜態 塊 看兩者的書寫順序 2.第二執行子類的靜態變數和靜態 塊 看兩者的書寫順序 3.第三執行父類的成員變數賦值 4.第四執行父類類的構造 塊 5.第五執行父類的構造方法 6.執行子類的構造 塊 7....

類的例項化順序

首先列出例項化的順序 具體大家可以自行通過 進行驗證。在例項化的時候,可能會出現成員變數例項化類,那麼成員例項化。假造到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...