1.類中的static變量在類加載時首先被初始化,且只能初始化一次.

2.所有對象共享類中的static變量.

3.在創(chuàng)建子類的對象時,先初始化父類的static變量,再初始化子類的static.

實例如下:

public class A
{
 static
 {
  System.out.println("I'm in class A's static!");
 }

 public A()
 {
  System.out.println("I'm in class A's structure!");
 } 
};

public class B extends A
{
 static
 {
  System.out.println("I'm in class B's static!");
 }

 public B()
 {
  System.out.println("I'm in class B's structure!");
 }
};

public class TestStatic
{
 public static void main(String[] arg)
 {
  A ab = new B();
  B ba = new B();
 }
};

輸出結(jié)果為:

I'm in class A's static!
I'm in class B's static!
I'm in class A's structure!
I'm in class B's structure!
I'm in class A's structure!
I'm in class B's structure!