天天看點

靜态初始化塊

構造方法用于對象的初始化!靜态初始化塊,用于類的初始化操作!在靜态初始化塊中不能直接通路非static成員。

注意事項:

  靜态初始化塊執行順序(學完繼承再看這裡):

  1. 上溯到Object類,先執行Object的靜态初始化塊,再向下執行子類的靜态初始化塊,直到我們的類的靜态初始化塊為止。

  2. 構造方法執行順序和上面順序一樣!!

【示例4-11】static初始化塊

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<code>public class User3 {</code>

<code>    </code><code>int id;        //id</code>

<code>    </code><code>String name;   //賬戶名</code>

<code>    </code><code>String pwd;   //密碼</code>

<code>    </code><code>static String company; //公司名稱</code>

<code>    </code><code>static {</code>

<code>        </code><code>System.out.println("執行類的初始化工作");</code>

<code>        </code><code>company = "北京尚學堂";</code>

<code>        </code><code>printCompany();</code>

<code>    </code><code>}  </code>

<code>    </code><code>public static void printCompany(){</code>

<code>        </code><code>System.out.println(company);</code>

<code>    </code><code>public static void main(String[] args) {</code>

<code>        </code><code>User3  u3 = new User3();</code>

<code>    </code><code>}</code>

<code>}</code>

  執行結果如圖4-11所示。

靜态初始化塊

圖4-11 示例4-11的運作結果