1. 程式人生 > >java中static修飾符的程式碼的載入順序

java中static修飾符的程式碼的載入順序

1:首先載入被final static 修飾的原始資料型別的資料成員(若是其他型別的物件,包括原始資料型別的類包裝器,如Integer,也排在第3載入)。

2:其次載入處於static塊中的程式碼塊。

3:最後才是載入只被static修飾的資料成員。

測試例項:

package com.liu.person;

import java.util.Random;

public class TestStatic {


 public static int a = 10;


 public static final String  s1 = new String("sss");

 public static final String  s2 = "aaaaaaa";


 public static final int b = new Integer(20);


 public static final int c = new Random().nextInt();

 public static final int d = 250;

 
 static {
  a = 0;
  System.out.println("initable InitSquence");
 }

 
 public static void main(String[] args) {
  
  System.out.println(TestStatic.s1);
 }


}

輸出:->initable InitSquence

         ->sss

如果改成:System.out.println(TestStatic.s2);

則輸出:->aaaaaaa

如果改成:System.out.println(TestStatic.b);

則輸出:->initable InitSquence

            ->20

如果改成:System.out.println(TestStatic.a);

則輸出:->initable InitSquence

            ->0

如果改成:System.out.println(TestStatic.d);

則輸出:->250